[EMAIL PROTECTED] wrote: > I do not expect from the cla framework to do the parsing for me, it > should return strings associated with keys (which are strings too) > from different locations (cla, cfg file, registry etc.).
... through something like lexical property map: template< typename KeyType , typename T , typename Compare = std::less<KeyType> > class lexical_property_map : private std::map< KeyType,T,Compare > { typedef lexical_property_map self_t; typedef std::map< KeyType,T,Compare > base_t; public: typedef typename base_t::key_type key_type; using base_t::begin; using base_t::end; using base_t::empty; using base_t::size; using base_t::clear; using base_t::find; bool has_key(key_type const& a_key) const { return this->find(a_key) != this->end(); } template< typename U > self_t& put(key_type const& a_key, U const& a_value) { (*this)[a_key] = boost::lexical_cast<T>(a_value); return *this; } template< typename U > U get(key_type const& a_key, U const& a_default = U()) const { return this->has_key(a_key) ? boost::lexical_cast<U>( this->find(a_key)->second ) : a_default ; } T get(key_type const& a_key, T const& a_default = T()) const { return get<T>(a_key, a_default); } }; int main() { lexical_property_map<std::string,std::string> options; options.put("delay", 50); std::cout << options.get<int>("delay"); } Aleksey _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost