#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.