#include <typemodel.hh>
Public Member Functions | |
Array (Type const &of, size_t dimension) | |
Array (Type const &of, size_t dimension) | |
size_t | getDimension () const |
size_t | getDimension () const |
Static Public Member Functions | |
static std::string | getArrayName (std::string const &base, size_t new_dim) |
static std::string | getArrayName (std::string const &base, size_t new_dim) |
Protected Member Functions | |
virtual std::string | getIndirectTypeName (std::string const &inside_name) const |
virtual std::string | getIndirectTypeName (std::string const &inside_name) const |
Private Member Functions | |
virtual bool | do_compare (Type const &other, bool equality, RecursionStack &stack) const |
virtual bool | do_compare (Type const &other, bool equality, RecursionStack &stack) const |
virtual Type * | do_merge (Registry ®istry, RecursionStack &stack) const |
virtual Type * | do_merge (Registry ®istry, RecursionStack &stack) const |
virtual bool | do_resize (Registry &into, std::map< std::string, std::pair< size_t, size_t > > &new_sizes) |
virtual bool | do_resize (Registry &into, std::map< std::string, std::pair< size_t, size_t > > &new_sizes) |
Private Attributes | |
size_t | m_dimension |
Unidimensional array types. As in C, the multi-dimensional arrays are defined as arrays-of-arrays
Definition at line 386 of file install/include/typelib/typemodel.hh.
Typelib::Array::Array | ( | Type const & | of, | |
size_t | dimension | |||
) |
Definition at line 407 of file typemodel.cc.
Typelib::Array::Array | ( | Type const & | of, | |
size_t | dimension | |||
) |
virtual bool Typelib::Array::do_compare | ( | Type const & | other, | |
bool | equality, | |||
RecursionStack & | stack | |||
) | const [private, virtual] |
Reimplemented from Typelib::Indirect.
bool Typelib::Array::do_compare | ( | Type const & | other, | |
bool | equality, | |||
RecursionStack & | stack | |||
) | const [private, virtual] |
Reimplemented from Typelib::Indirect.
Definition at line 423 of file typemodel.cc.
virtual Type* Typelib::Array::do_merge | ( | Registry & | registry, | |
RecursionStack & | stack | |||
) | const [private, virtual] |
Called by Type::merge when the type does not exist in registry
already. This method has to create a new type in registry that matches the type definition of *this.
All types referenced by *this must be moved to their equivalent in registry
.
Implements Typelib::Type.
Type * Typelib::Array::do_merge | ( | Registry & | registry, | |
RecursionStack & | stack | |||
) | const [private, virtual] |
Called by Type::merge when the type does not exist in registry
already. This method has to create a new type in registry that matches the type definition of *this.
All types referenced by *this must be moved to their equivalent in registry
.
Implements Typelib::Type.
Definition at line 431 of file typemodel.cc.
virtual bool Typelib::Array::do_resize | ( | Registry & | into, | |
std::map< std::string, std::pair< size_t, size_t > > & | new_sizes | |||
) | [private, virtual] |
Implementation of the actual resizing. Called by resize()
Reimplemented from Typelib::Indirect.
bool Typelib::Array::do_resize | ( | Registry & | into, | |
std::map< std::string, std::pair< size_t, size_t > > & | new_sizes | |||
) | [private, virtual] |
Implementation of the actual resizing. Called by resize()
Reimplemented from Typelib::Indirect.
Definition at line 439 of file typemodel.cc.
static std::string Typelib::Array::getArrayName | ( | std::string const & | base, | |
size_t | new_dim | |||
) | [static] |
std::string Typelib::Array::getArrayName | ( | std::string const & | base, | |
size_t | new_dim | |||
) | [static] |
Definition at line 416 of file typemodel.cc.
size_t Typelib::Array::getDimension | ( | ) | const |
size_t Typelib::Array::getDimension | ( | ) | const |
Definition at line 422 of file typemodel.cc.
virtual std::string Typelib::Array::getIndirectTypeName | ( | std::string const & | inside_name | ) | const [protected, virtual] |
Overloaded in subclasses to return the name of this type based on the name of the indirection
This is solely used by modifiedDependencyAliases() to update the set of aliases for a given type
Implements Typelib::Indirect.
std::string Typelib::Array::getIndirectTypeName | ( | std::string const & | inside_name | ) | const [protected, virtual] |
Overloaded in subclasses to return the name of this type based on the name of the indirection
This is solely used by modifiedDependencyAliases() to update the set of aliases for a given type
Implements Typelib::Indirect.
Definition at line 411 of file typemodel.cc.
size_t Typelib::Array::m_dimension [private] |
Definition at line 401 of file install/include/typelib/typemodel.hh.