199451b44SJordan Rupprecht #include <cstring>
299451b44SJordan Rupprecht 
399451b44SJordan Rupprecht template <typename T>
499451b44SJordan Rupprecht class Foo
599451b44SJordan Rupprecht {
699451b44SJordan Rupprecht public:
Foo()799451b44SJordan Rupprecht     Foo () : object() {}
Foo(T x)899451b44SJordan Rupprecht     Foo (T x) : object(x) {}
getObject()999451b44SJordan Rupprecht     T getObject() { return object; }
1099451b44SJordan Rupprecht private:
1199451b44SJordan Rupprecht     T object;
1299451b44SJordan Rupprecht };
1399451b44SJordan Rupprecht 
1499451b44SJordan Rupprecht 
main(int argc,char const * argv[])1599451b44SJordan Rupprecht int main (int argc, char const *argv[])
1699451b44SJordan Rupprecht {
1799451b44SJordan Rupprecht     Foo<int> foo_x('a');
1899451b44SJordan Rupprecht     Foo<wchar_t> foo_y(L'a');
1999451b44SJordan Rupprecht     const wchar_t *mazeltov = L"מזל טוב";
2099451b44SJordan Rupprecht     wchar_t *ws_NULL = nullptr;
2199451b44SJordan Rupprecht     wchar_t *ws_empty = L"";
2299451b44SJordan Rupprecht   	wchar_t array[200], * array_source = L"Hey, I'm a super wchar_t string, éõñž";
2399451b44SJordan Rupprecht     wchar_t wchar_zero = (wchar_t)0;
2499451b44SJordan Rupprecht   	memcpy(array, array_source, 39 * sizeof(wchar_t));
25*53eece04SRaphael Isemann     return 0; // break here
2699451b44SJordan Rupprecht }
27