typedef function<DynamicObject::Ptr (const Dictionary::Ptr&)> Factory;
- typedef map<String, Factory, boost::algorithm::is_iless> ClassMap;
- typedef map<String, DynamicObject::Ptr, boost::algorithm::is_iless> NameMap;
- typedef map<String, NameMap, boost::algorithm::is_iless> TypeMap;
+ typedef map<String, Factory, string_iless> ClassMap;
+ typedef map<String, DynamicObject::Ptr, string_iless> NameMap;
+ typedef map<String, NameMap, string_iless> TypeMap;
- typedef map<String, DynamicAttribute, boost::algorithm::is_iless> AttributeMap;
+ typedef map<String, DynamicAttribute, string_iless> AttributeMap;
typedef AttributeMap::iterator AttributeIterator;
typedef AttributeMap::const_iterator AttributeConstIterator;
I2_BASE_API String::Iterator range_end(String& x);
I2_BASE_API String::ConstIterator range_end(const String& x);
+struct string_iless : std::binary_function<String, String, bool>
+{
+ bool operator()(const String& s1, const String& s2) const
+ {
+ return lexicographical_compare(s1.Begin(), s1.End(),
+ s2.Begin(), s2.End(), boost::algorithm::is_iless());
+ }
+};
+
}
namespace boost