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,
   275       return findFirstPropertyOfType(t) != 0;
   280       const std::size_t size = m_properties.size();
   282       for(std::size_t i = 0; i != size; ++i)
   283         if(m_properties[i]->getType() == t)
   284           return m_properties[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. 
 
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.