uSTL_2.3_addin_example/src/main.cc

71 lines
1.6 KiB
C++

#include <gint/display.h>
#include <gint/keyboard.h>
#include <gint/defs/types.h>
#include <fxlibc/printf.h>
#include <vector>
#include <list>
#include <string>
#include <array>
#define std ustl
int main(void)
{
__printf_enable_fp();
__printf_enable_fixed();
std::vector<int> v;
v.push_back(10);
v.push_back(20);
v.push_back(30);
v.push_back(40);
auto it = v.emplace( v.begin(), -10 );
v.emplace( it+1, 0 );
std::list<int> l;
l.push_back(100);
l.push_back(200);
l.push_back(300);
l.push_back(400);
l.push_front(0);
l.push_front(-100);
std::string s1("Hello");
std::string s2(" ");
std::string s3("World");
std::string s4=s1+s2+s3;
std::array<int, 5> a={-3, -2, -1, 0, 1};
dclear(C_WHITE);
dtext(1, 1, C_BLACK, "Sample fxSDK add-in.");
dtext(1, 25, C_RED, "Test std::vector");
for(int k=0; k<v.size(); k++)
dprint( 1, 40+k*10, C_RED, "v[%d] = %d",k,v[k]);
dtext(200, 25, C_GREEN, "Test std::list");
for(int k=0; k<l.size(); k++)
dprint( 200, 40+k*10, C_GREEN, "v[%d] = %d",k,l[k]);
dtext(1, 115, C_BLUE, "Test std::string");
dprint( 1, 130, C_BLUE, "%s + %s + %s = %s", s1.c_str(), s2.c_str(), s3.c_str(), s4.c_str());
dtext(1, 145, C_BLACK, "Test std::array" );
dprint( 1, 160, C_BLACK, "size= %d; front= %d; back= %d", a.size(), a.front(), a.back() );
int i=0;
for(int& k : a)
{
dprint( 1, 170+i*10, C_BLACK, "a[%d] = %d",i, a[i]);
i++;
}
dupdate();
getkey();
return 1;
}