#ifndef  ENTITY_SDAIIFCPOSTALADDRESS_H
#define  ENTITY_SDAIIFCPOSTALADDRESS_H

// This file was generated by exp2cxx,
// 0.8.1.
// You probably don't want to edit it since your modifications
// will be lost if exp2cxx is used to regenerate it.

class SC_SCHEMA_EXPORT SdaiIfcpostaladdress : public SdaiIfcaddress {
     protected:
        SDAI_String _internallocation;    //  OPTIONAL
        StringAggregate_ptr _addresslines = NULL;    //  OPTIONAL          //  of  ifclabel

        SDAI_String _postalbox;    //  OPTIONAL
        SDAI_String _town;    //  OPTIONAL
        SDAI_String _region;    //  OPTIONAL
        SDAI_String _postalcode;    //  OPTIONAL
        SDAI_String _country;    //  OPTIONAL
    public: 
        SdaiIfcpostaladdress();
        SdaiIfcpostaladdress( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiIfcpostaladdress( SdaiIfcpostaladdress & e );
        ~SdaiIfcpostaladdress();
        int opcode() {
            return 299;
        }
  const SdaiIfclabel   internallocation_() const;
        SdaiIfclabel   internallocation_();
        void internallocation_( const SdaiIfclabel x );

        StringAggregate_ptr_c addresslines_() const;
        StringAggregate_ptr   addresslines_();
        void addresslines_( const StringAggregate_ptr x );

  const SdaiIfclabel   postalbox_() const;
        SdaiIfclabel   postalbox_();
        void postalbox_( const SdaiIfclabel x );

  const SdaiIfclabel   town_() const;
        SdaiIfclabel   town_();
        void town_( const SdaiIfclabel x );

  const SdaiIfclabel   region_() const;
        SdaiIfclabel   region_();
        void region_( const SdaiIfclabel x );

  const SdaiIfclabel   postalcode_() const;
        SdaiIfclabel   postalcode_();
        void postalcode_( const SdaiIfclabel x );

  const SdaiIfclabel   country_() const;
        SdaiIfclabel   country_();
        void country_( const SdaiIfclabel x );

};

inline SdaiIfcpostaladdress * create_SdaiIfcpostaladdress() {
    return new SdaiIfcpostaladdress;
}

void init_SdaiIfcpostaladdress(Registry& reg);

namespace ifc2x3 {
    extern EntityDescriptor *e_ifcpostaladdress;
    extern AttrDescriptor *a_657internallocation;
    extern AttrDescriptor *a_658addresslines;
    extern AttrDescriptor *a_659postalbox;
    extern AttrDescriptor *a_660town;
    extern AttrDescriptor *a_661region;
    extern AttrDescriptor *a_662postalcode;
    extern AttrDescriptor *a_663country;
}

#endif
