This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <queue> | |
#include <memory> | |
struct Foo { | |
int i; | |
}; | |
using namespace std; | |
static_assert(is_nothrow_move_constructible<shared_ptr<Foo>>::value, | |
"Shared pointer is not move constructible"); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <type_traits> | |
#include <iostream> | |
using namespace std; | |
template<class... > using void_t = void; | |
template< class, class = void > | |
struct has_type_member : false_type { }; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <type_traits> | |
#include <iostream> | |
using namespace std; | |
template< class... > struct voider { using type = void; }; | |
template< class... T0toN > using void_t = typename voider<T0toN...>::type; | |
// does NOT work |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <typeinfo> | |
#include <string> | |
#include <iostream> | |
template<typename T> struct A { | |
template<typename U> | |
void foo(U u) { | |
std::cout << std::string("class template parameter generic, function template parameter ") + typeid(u).name() << std::endl; | |
} | |
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <typeinfo> | |
#include <string> | |
#include <iostream> | |
template<typename T> struct A { | |
template<typename U> | |
A(U u) { | |
std::cout << std::string("class template parameter generic, ctor template parameter ") + typeid(u).name() << std::endl; | |
} | |
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <iostream> | |
#include <vector> | |
#include <Eigen/Dense> | |
#include <Eigen/Sparse> | |
int main() { | |
using namespace std; | |
using namespace Eigen; | |
vector<Triplet<double> > tripletList; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// test transforming a mutating function into a value-returning function via Phoenix | |
// i.e., void f(T& a) -> T f(T const& a) or T F(T a) | |
#define BOOST_SPIRIT_USE_PHOENIX_V3 | |
#include <iostream> | |
#include <string> | |
#include <boost/spirit/include/phoenix.hpp> | |
#include <boost/algorithm/string/case_conv.hpp> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <string> | |
#include <boost/spirit/include/lex_lexertl.hpp> | |
#include <boost/spirit/include/lex_lexertl_position_token.hpp> | |
#include <boost/spirit/include/support_istream_iterator.hpp> | |
#include <boost/spirit/include/qi.hpp> | |
#include <boost/spirit/include/phoenix.hpp> | |
#include <boost/algorithm/string/case_conv.hpp> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <string> | |
#include <iostream> | |
#include <sstream> | |
#define BOOST_SPIRIT_USE_PHOENIX_V3 | |
#include <boost/spirit/include/qi.hpp> | |
#include <boost/spirit/include/phoenix.hpp> | |
int main() { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class Cell < ActiveRecord::Base | |
composed_of :extent, :class_name => "Vector", :mapping => %w(extent_x extent_y extent_z), :constructor => Proc.new { |x,y,z| Vector.elements([x, y, z]) } | |
def as_json(options={}) | |
{:name => self.name, :id => self.id, :extent => [self.extent_x, self.extent_y, self.extent_z]} | |
end | |
end |
OlderNewer