I want to know
1) how to understand template <>? I know template <T>, but why there is no T here?
2) what does struct default_converter<luabindx::lightuserdata_t>: native_converter_base<luabindx::lightuserdata_t> mean? it looks to be a struct, but why there is a ":"?
1) template <> is simply a template that does not take any arguments. Not sure why it is even a template.
2) Yes, it is a struct declarations. It is declaring a struct type called default_converter qualified by luabindx::lightuserdata_t. The : indicates it inherits from another struct, native_converter_base<luabindx::lightuserdata_t>