Skip to content

Commit

Permalink
Add minimal main example for binary size testing
Browse files Browse the repository at this point in the history
  • Loading branch information
lefticus committed Oct 30, 2023
1 parent 200a31e commit d978315
Showing 1 changed file with 41 additions and 0 deletions.
41 changes: 41 additions & 0 deletions src/cons_expr_cli/main_minimal.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
#include <cons_expr/cons_expr.hpp>

template<typename Contained, typename Allocator=std::allocator<Contained>>
struct null_container
{
constexpr const Contained *begin() const {
return &dummyobj;
}

constexpr const Contained *end() const {
return &dummyobj;
}

constexpr const Contained &operator[](const std::size_t) const {
return dummyobj;
}
constexpr Contained &operator[](const std::size_t) {
return dummyobj;
}


constexpr void push_back(const Contained &) {}

Contained dummyobj;

constexpr bool empty() const { return true; }
constexpr std::size_t size() const { return 0; }
};

int main(int argc, const char **argv)
{
// lefticus::cons_expr<std::uint16_t, wchar_t> evaluator1;

// lefticus::cons_expr<lefticus::cons_expr_settings<std::uint16_t, char, int, float, 64, 1024, 256, null_container>> evaluator;
lefticus::cons_expr<lefticus::cons_expr_settings<std::uint16_t, char, int, float, 64, 128, 64, std::vector>> evaluator;


evaluator.sequence(evaluator.global_scope,
std::get<typename lefticus::cons_expr<>::list_type>(evaluator.parse(argv[1]).first.value));

}

0 comments on commit d978315

Please # to comment.