Extending TCL_obj_stl for nonstandard containers

TCL_obj_stl.h uses the classdesc::is_sequence and classdesc::is_associative_container type trait. This means that to enable TCL_obj handling of your custom container MyContainer, you need to define the appropriate type trait prior to including TCL_obj_stl.h, eg:

namespace classdesc
{
  template <> struct is_sequence<MyContainer>: public true_type {};
}

Also, if your custom container is more of a map, then you also need to define the ecolab::is_map type trait for it's value_type, eg

namespace classdesc
{
  template <> struct is_associative<MyContainer>: public true_type {};
}
namespace ecolab
{
  template <> struct is_map<MyContainer::value_type>: 
    public is_map<std::pair<MyContainer::key_type, MyContainer::mapped_type> > {};
}