Ignore:
Timestamp:
Jul 2, 2015, 4:51:32 PM (4 years ago)
Author:
nmedfort
Message:

Fix for SCX and updated property objects.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • icGREP/icgrep-devel/icgrep/UCD/PropertyObjects.h

    r4627 r4631  
    5656        }
    5757               
     58
    5859                EnumeratedPropertyObject(UCD::property_t p,
    59                                  const std::vector<std::string> enum_names,
    60                                  const std::vector<std::string> names,
    61                                          const std::unordered_map<std::string, int> aliases,
    62                                          const std::vector<UnicodeSet> sets) :
    63                 PropertyObject(p, ClassTypeId::EnumeratedProperty), property_value_enum_names(enum_names), property_value_full_names(names), property_value_aliases(aliases), aliases_initialized(false), property_value_sets(sets) {}
     60                                 const std::vector<std::string> & enum_names,
     61                                 const std::vector<std::string> & names,
     62                                 std::unordered_map<std::string, int> & aliases,
     63                                 std::vector<const UnicodeSet *> && sets)
     64        : PropertyObject(p, ClassTypeId::EnumeratedProperty)
     65        , property_value_enum_names(enum_names)
     66        , property_value_full_names(names)
     67        , property_value_aliases(aliases)
     68        , uninitialized(true)
     69        , property_value_sets(sets) {
     70
     71
     72        }
     73
    6474        virtual int GetPropertyValueEnumCode(const std::string & value_spec);
    65         UnicodeSet GetCodepointSet(const std::string & value_spec);
    66         UnicodeSet GetCodepointSet(const int property_enum_val) const;
     75        const UnicodeSet & GetCodepointSet(const std::string & value_spec);
     76        const UnicodeSet & GetCodepointSet(const int property_enum_val) const;
    6777               
    6878        private:
    69         const std::vector<std::string> property_value_enum_names;  // never changes
    70         const std::vector<std::string> property_value_full_names;  // never changes
    71                 std::unordered_map<std::string, int> property_value_aliases;
    72                 bool aliases_initialized; // full names must be added dynamically.
    73                 std::vector<UnicodeSet> property_value_sets;                 
     79        const std::vector<std::string> & property_value_enum_names;  // never changes
     80        const std::vector<std::string> & property_value_full_names;  // never changes
     81        std::unordered_map<std::string, int> & property_value_aliases;
     82        bool uninitialized; // full names must be added dynamically.
     83        const std::vector<const UnicodeSet *> property_value_sets;
    7484        };
    7585       
     
    8393        }
    8494               
    85                 BinaryPropertyObject(UCD::property_t p, UnicodeSet s) : PropertyObject(p, ClassTypeId::BinaryProperty), the_codepoint_set(s) {}
     95        BinaryPropertyObject(UCD::property_t p, UnicodeSet s)
     96        : PropertyObject(p, ClassTypeId::BinaryProperty)
     97        , the_codepoint_set(s) {
     98
     99        }
    86100        UnicodeSet GetCodepointSet(const std::string & value_spec) const;
    87101        UnicodeSet GetCodepointSet(const int property_enum_val) const;
Note: See TracChangeset for help on using the changeset viewer.