#ifndef __CPP_PAIR_H #define __CPP_PAIR_H #ifdef __cplusplus #include <ubixos/types.h> template <class A, class B> class Pair { protected: A a; B b; public: Pair() : a(), b() { }; Pair(const A & _a, const B & _b) : a(_a), b(_b) { }; ~Pair() { }; inline A & first() { return a; }; inline B & second() { return b; }; Pair & operator= (const Pair & right) { this->first() = right.a; this->second() = right.b; return *this; } operator B() const { return b; } }; #endif #endif