plasma.ADTにlight_adt.hppを追加した。使い方は以下の通り。
#include<iostream>
#include<string>
#include"light_adt.hpp"
using namespace plasma_adt;
struct list :data_type<list, int, tuple<int, list>>
{
templatelist(T&& arg) :data_type(std::forward(arg))| #include<Siv3D.hpp> | |
| #include<boost/coroutine2/all.hpp> | |
| #include<boost/optional.hpp> | |
| std::vector<int> vec; | |
| boost::optional<int> opt; | |
| constexpr int count = 2; | |
| std::wstring str; | |
| const wchar_t message[] = L"新しい数字を入力するが良い"; |
| #pragma once | |
| // Copyright plasma-effect 2015 | |
| // Distributed under the Boost Software License, Version 1.0. | |
| // (See http://www.boost.org/LICENSE_1_0.txt) | |
| #include<type_traits> | |
| #include<cinttypes> | |
| #include<typeindex> | |
| #include<vector> |
| #include<Siv3D.hpp> | |
| #include<chrono> | |
| #include<vector> | |
| #include<functional> | |
| #include"regexpr.hpp" | |
| namespace sch = std::chrono; | |
| typedef sch::milliseconds base_time_t; |
| #include<iostream> | |
| #include<chrono> | |
| #include<vector> | |
| #include<array> | |
| #include<set> | |
| #include<random> | |
| #include<queue> | |
| struct none_t {}; | |
| template<class Lhs, class Rhs>struct tree |
| #include<iostream> | |
| #include<type_traits> | |
| #include<utility> | |
| struct none_t | |
| { | |
| }; | |
| template<std::size_t I>using index_node = std::integral_constant<std::size_t, I>; |
| #pragma once | |
| #ifndef PLASMA_REGEXPR_ | |
| #define PLASMA_REGEXPR_ | |
| #include<string> | |
| #include<array> | |
| #include<vector> | |
| #include<memory> | |
| #include<typeindex> | |
| #include<boost/utility/string_view.hpp> |
| #include<iostream> | |
| #include<type_traits> | |
| #include<utility> | |
| #include<functional> | |
| namespace eratosthenes | |
| { | |
| template<std::size_t I, class Sequence>struct add; | |
| template<std::size_t I, std::size_t... Is>struct add<I, std::index_sequence<Is...>> | |
| { |
plasma.ADTにlight_adt.hppを追加した。使い方は以下の通り。
#include<iostream>
#include<string>
#include"light_adt.hpp"
using namespace plasma_adt;
struct list :data_type<list, int, tuple<int, list>>
{
templatelist(T&& arg) :data_type(std::forward(arg))PMPやってたらコンパイラ間の挙動の違いに飲み込まれて死んだ。大体msvcが悪い。(自由律)
この記事はC++アドベントカレンダー4日目の記事です。
昨日はコンパイル中にコンパイルする「コンパイル時Cコンパイラ」をつくった話でした。
先日VS2017RCが出ました。VC++のコア言語とライブラリに関して新機能をチェックしていこうという記事です。全部は無理ですが。
以下プロパティの言語標準を「ISO C++ 標準の最終草案 (/std:c++latest)」にしていることを前提とします。
| #include<Siv3D.hpp> | |
| #include<algorithm> | |
| typedef std::pair<double, double> point; | |
| typedef point size; | |
| double& x(point& p) | |
| { | |
| return p.first; | |
| } | |
| double& y(point& p) |