hicc-std 0.2.0

Based on hicc's ability to provide rust with the ability to call c++ standard container class interfaces
Documentation

#include <hicc/hicc.hpp>
#include <hicc/std/memory.hpp>
#include "hicc/std/string.hpp"
#include "hicc/std/vector.hpp"
#include "hicc/std/unordered_set.hpp"
#include "hicc/std/set.hpp"
#include "hicc/std/map.hpp"
#include "hicc/std/unordered_map.hpp"
#include "hicc/std/list.hpp"
#include "hicc/std/forward_list.hpp"
#include "hicc/std/stack.hpp"
#include "hicc/std/queue.hpp"
#include "hicc/std/deque.hpp"
#include "hicc/std/array.hpp"

EXPORT_METHODS_BEG(hicc_std) {
        EXPORT_METHOD(&hicc::make_unique<std::string>);
        EXPORT_METHOD((&hicc::make_unique<std::string, const char*>));
        EXPORT_METHOD(&hicc::make_unique<std::string, const std::string&, size_t, size_t>);

        EXPORT_METHOD(&hicc::make_unique<std::basic_string<char16_t>>);
        EXPORT_METHOD(&hicc::make_unique<std::basic_string<char16_t>, const char16_t*>);
        EXPORT_METHOD(&hicc::make_unique<std::basic_string<char16_t>, const std::basic_string<char16_t>&, size_t, size_t>);

        EXPORT_METHOD(&hicc::make_unique<std::basic_string<char32_t>>);
        EXPORT_METHOD(&hicc::make_unique<std::basic_string<char32_t>, const char32_t*>);
        EXPORT_METHOD(&hicc::make_unique<std::basic_string<char32_t>, const std::basic_string<char32_t>&, size_t, size_t>);
} EXPORT_METHODS_END();

#if defined(HICC_STD_TEST)
EXPORT_METHODS_BEG(hicc_std_test) {
        EXPORT_METHOD(&hicc::make_unique<std::vector<int>>);
        EXPORT_METHOD(&hicc::make_unique<std::vector<std::string>>);
        EXPORT_METHOD(&hicc::make_unique<std::vector<std::vector<std::string>>>);
        EXPORT_METHOD(&hicc::make_unique<std::vector<bool>>);

        EXPORT_METHOD(&hicc::make_unique<std::set<int>>);
        EXPORT_METHOD(&hicc::make_unique<std::set<std::string>>);
        EXPORT_METHOD(&hicc::make_unique<std::multiset<int>>);
        EXPORT_METHOD(&hicc::make_unique<std::multiset<std::string>>);

        EXPORT_METHOD(&hicc::make_unique<std::unordered_set<int>>);
        EXPORT_METHOD(&hicc::make_unique<std::unordered_set<std::string>>);
        EXPORT_METHOD(&hicc::make_unique<std::unordered_multiset<int>>);
        EXPORT_METHOD(&hicc::make_unique<std::unordered_multiset<std::string>>);

        EXPORT_METHOD(&hicc::make_unique<std::map<std::string, std::string>>);
        EXPORT_METHOD(&hicc::make_unique<std::map<std::string, int>>);
        EXPORT_METHOD(&hicc::make_unique<std::map<int, std::string>>);
        EXPORT_METHOD(&hicc::make_unique<std::map<int, int>>);

        EXPORT_METHOD(&hicc::make_unique<std::multimap<std::string, std::string>>);
        EXPORT_METHOD(&hicc::make_unique<std::multimap<std::string, int>>);
        EXPORT_METHOD(&hicc::make_unique<std::multimap<int, std::string>>);
        EXPORT_METHOD(&hicc::make_unique<std::multimap<int, int>>);

        EXPORT_METHOD(&hicc::make_unique<std::unordered_map<std::string, std::string>>);
        EXPORT_METHOD(&hicc::make_unique<std::unordered_map<std::string, int>>);
        EXPORT_METHOD(&hicc::make_unique<std::unordered_map<int, std::string>>);
        EXPORT_METHOD(&hicc::make_unique<std::unordered_map<int, int>>);

        EXPORT_METHOD(&hicc::make_unique<std::unordered_multimap<std::string, std::string>>);
        EXPORT_METHOD(&hicc::make_unique<std::unordered_multimap<std::string, int>>);
        EXPORT_METHOD(&hicc::make_unique<std::unordered_multimap<int, std::string>>);
        EXPORT_METHOD(&hicc::make_unique<std::unordered_multimap<int, int>>);

        EXPORT_METHOD(&hicc::make_unique<std::list<int>>);
        EXPORT_METHOD(&hicc::make_unique<std::list<std::string>>);

        EXPORT_METHOD(&hicc::make_unique<std::forward_list<int>>);
        EXPORT_METHOD(&hicc::make_unique<std::forward_list<std::string>>);

        EXPORT_METHOD(&hicc::make_unique<std::stack<int>>);
        EXPORT_METHOD(&hicc::make_unique<std::stack<std::string>>);

        EXPORT_METHOD(&hicc::make_unique<std::queue<int>>);
        EXPORT_METHOD(&hicc::make_unique<std::queue<std::string>>);

        EXPORT_METHOD(&hicc::make_unique<std::priority_queue<int>>);

        EXPORT_METHOD(&hicc::make_unique<std::deque<int>>);
        EXPORT_METHOD(&hicc::make_unique<std::deque<std::string>>);

        EXPORT_METHOD(&hicc::make_unique<std::array<int, 10>>);
        EXPORT_METHOD(&hicc::make_unique<std::array<std::string, 10>>);

}EXPORT_METHODS_END();
#endif