26 #ifndef __TERRALIB_DATATYPE_INTERNAL_COMPOSITEPROPERTY_H
27 #define __TERRALIB_DATATYPE_INTERNAL_COMPOSITEPROPERTY_H
36 #include <boost/ptr_container/ptr_vector.hpp>
66 const std::string& name,
128 void add(
const std::vector<Property*>& ps);
130 void add(
const boost::ptr_vector<te::dt::Property>& ps);
146 std::size_t
size()
const {
return m_properties.size(); }
153 const std::vector<Property*>&
getProperties()
const {
return m_properties; }
180 Property* getProperty(
const std::string& name)
const;
189 std::size_t getPropertyPosition(
const std::string& name)
const;
198 std::size_t getPropertyPosition(
const Property* p)
const;
207 Property* getPropertyById(
unsigned int id)
const;
212 bool hasPropertyOfType(
const int t)
const;
217 Property* findFirstPropertyOfType(
const int t)
const;
227 void copy(
const std::vector<Property*>& ps);
230 virtual void clear();
262 const std::string& name,
282 for(std::size_t i = 0; i !=
size; ++i)
293 #endif // __TERRALIB_DATATYPE_INTERNAL_COMPOSITEPROPERTY_H
Property * getProperty(std::size_t i) const
It returns the i-th property.
A base class for a compound property (non-atomic properties).
It models a property definition.
const std::string & getCompositeName() const
It returns the name of the composite type.
std::vector< Property * > m_properties
The list of property types that make the CompositeProperty.
It models a property definition.
#define TEDATATYPEEXPORT
You can use this macro in order to export/import classes and functions from this module.
const std::vector< Property * > & getProperties() const
It returns the list of properties describing the CompositeProperty.
std::size_t size() const
It returns the number of properties of the CompositeProperty.
std::vector< Property * > & getProperties()
It returns the list of properties describing the CompositeProperty.
int getType() const
It returns the property data type.
Property * findFirstPropertyOfType(const int t) const
returns the first property of the given data type. Caller doesn't take ownership of the returned poin...
bool hasPropertyOfType(const int t) const
Tells if there is a property of the given data type.
void setCompositeName(const std::string &cname)
It sets the composite type name.
std::string m_cname
The composite type name.