template struct mrpt::typemeta::internal::bimap

#include <mrpt/typemeta/TEnumType.h>

template <typename KEY, typename VALUE>
struct bimap
{
    // typedefs

    typedef typename std::map<KEY, VALUE>::const_iterator const_iterator;

    //
fields

    std::map<KEY, VALUE> m_k2v;
    std::map<VALUE, KEY> m_v2k;

    //
methods

    const_iterator begin() const;
    const_iterator end() const;

    bool direct(
        const KEY& k,
        VALUE& out_v
        ) const;

    bool inverse(
        const VALUE& v,
        KEY& out_k
        ) const;

    void insert(
        const KEY& k,
        const VALUE& v
        );
};