In [ ]:
#include <iostream>
std::cout << "some output" << std::endl;
In [ ]:
std::cerr << "some error" << std::endl;
Omitting the ;
in the last statement of a cell gives an output
In [ ]:
int j = 5;
In [ ]:
j
In [ ]:
#include <map>
In [ ]:
std::map<std::string, int> map1;
map1["something"] = 69;
map1["anything"] = 199;
map1["that thing"] = 50;
map1
In [ ]:
#include <string>
#include <fstream>
#include "xtl/xbase64.hpp"
#include "xeus/xjson.hpp"
namespace im
{
struct image
{
inline image(const std::string& filename)
{
std::ifstream fin(filename, std::ios::binary);
m_buffer << fin.rdbuf();
}
std::stringstream m_buffer;
};
xeus::xjson mime_bundle_repr(const image& i)
{
auto bundle = xeus::xjson::object();
bundle["image/png"] = xtl::base64encode(i.m_buffer.str());
return bundle;
}
}
In [ ]:
im::image marie("marie.png");
marie
In [ ]:
double sqr(double a)
{
return a * a;
}
In [ ]:
double a = 2.5;
double asqr = sqr(a);
asqr
In [ ]:
class Foo
{
public:
virtual ~Foo() {}
virtual void print(double value) const
{
std::cout << "Foo value = " << value << std::endl;
}
};
In [ ]:
Foo bar;
bar.print(1.2);
In [ ]:
class Bar : public Foo
{
public:
virtual ~Bar() {}
virtual void print(double value) const
{
std::cout << "Bar value = " << 2 * value << std::endl;
}
};
In [ ]:
Foo* bar2 = new Bar;
bar2->print(1.2);
delete bar2;
In [ ]:
#include <typeinfo>
template <class T>
class FooT
{
public:
explicit FooT(const T& t) : m_t(t) {}
void print() const
{
std::cout << typeid(T).name() << " m_t = " << m_t << std::endl;
}
private:
T m_t;
};
template <>
class FooT<int>
{
public:
explicit FooT(const int& t) : m_t(t) {}
void print() const
{
std::cout << "m_t = " << m_t << std::endl;
}
private:
int m_t;
};
In [ ]:
FooT<double> foot1(1.2);
foot1.print();
In [ ]:
FooT<int> foot2(4);
foot2.print();
In [ ]:
class Foo11
{
public:
Foo11() { std::cout << "Foo11 default constructor" << std::endl; }
Foo11(const Foo11&) { std::cout << "Foo11 copy constructor" << std::endl; }
Foo11(Foo11&&) { std::cout << "Foo11 move constructor" << std::endl; }
};
In [ ]:
Foo11 f1;
Foo11 f2(f1);
Foo11 f3(std::move(f1));
In [ ]:
#include <vector>
std::vector<int> v = { 1, 2, 3};
auto iter = ++v.begin();
v
In [ ]:
*iter
... and also lambda, universal references, decltype
, etc ...
In [ ]:
?std::vector
In [ ]:
Foo