Changeset 82


Ignore:
Timestamp:
06/02/13 10:02:37 (12 years ago)
Author:
melon
Message:

Another portion of bug-fixes (no namespaces)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/nv/types.hh

    r81 r82  
    1616#include <vector>
    1717#include <string>
     18#include <cstddef>
    1819
    1920namespace nv
     
    230231    struct type_entry
    231232    {
    232                 // Function types for the constructor and destructor of registered types
    233             typedef void (*constructor_func)(void*);
    234             typedef void (*destructor_func)(void*);
    235 
    236                 // Parent type database
     233        // Function types for the constructor and destructor of registered types
     234        typedef void (*constructor_func)(void*);
     235        typedef void (*destructor_func)(void*);
     236
     237        // Parent type database
    237238        class type_database* type_db;
    238239
     
    247248        size_t size;
    248249
    249                 // Base type
    250                 type_entry* base_type;
    251 
    252                 // Field list
    253                 std::vector<type_field> field_list;
    254 
    255                 // Enum list
    256                 std::vector<type_enum> enum_list;
    257 
    258                 template <int TYPE>
    259                 type_entry& base()
    260                 {
    261                         base_type = type_db->get_type( typeid(TYPE) );
    262                 }
    263 
    264                 template <int SIZE>
    265                 type_entry& fields( type_field (&init_fields)[SIZE] )
    266                 {
     250        // Base type
     251        type_entry* base_type;
     252
     253        // Field list
     254        std::vector<type_field> field_list;
     255
     256        // Enum list
     257        std::vector<type_enum> enum_list;
     258
     259        template <int TYPE>
     260        type_entry& base()
     261        {
     262            base_type = type_db->get_type( typeid(TYPE) );
     263        }
     264
     265        template <int SIZE>
     266        type_entry& fields( type_field (&init_fields)[SIZE] )
     267        {
    267268                        for (int i = 0; i < SIZE; i++)
    268269                        {
     
    323324                }
    324325
    325                 type_entry* get_type( const type_info& t )
     326                type_entry* get_type( const std::type_info& t )
    326327                {
    327328                        type_info_map::iterator it = m_idx_types.find( std::type_index(t) );
     
    334335    private:
    335336                struct compare_type_info {
    336                         bool operator ()(const type_info* a, const type_info* b) const {
     337                        bool operator ()(const std::type_info* a, const std::type_info* b) const {
    337338                                return a->before(*b);
    338339                        }
Note: See TracChangeset for help on using the changeset viewer.