#ifndef ADDRESS_CONVENIENCE_HPP_ #define ADDRESS_CONVENIENCE_HPP_ #include #include "compare_to_operators.hpp" namespace ariba { namespace addressing { namespace detail { /** * TODO: Doc * * @author Sebastian Mies */ template class address_convenience : public compare_to_operators { public: /// convenience method for assignment of addresses inline T& operator=( const T& rhs ) { static_cast(this)->assign(rhs); return *this; } /// convenience method for assignment of addresses inline T& operator=( const char* text ) { static_cast(this)->assign(text); return *this; } /// convenience method for assignment of addresses inline T& operator=( const std::string& text ) { static_cast(this)->assign(text); return *this; } /// convenience method for assignment of a c-string address inline T& assign( const char* text ) { static_cast(this)->assign( std::string(text) ); return *this; } }; }}} // namespace ariba::addressing::detail #endif /* ADDRESS_CONVENIENCE_HPP_ */