11 Ekim 2016 Salı

geometry ring Sınıfı

Tanımlama
Şöyle yaparız.
Her polygon point nesnelerini saklar. Şöyle tanımlarız.
using PointType = boost::geometry::model::d2::point_xy <double>;
using RingType = boost::geometry::model::ring <PointType>;
Constructor
Şöyle yaparız. Halkanın kapalı olması gerekir.
RingType ring {
    {0, 0}, {0, 2}, {2, 2}, {2, 0}, {0, 0}
};

10 Ekim 2016 Pazartesi

asio tcp endpoint Sınıfı

Giriş
asio::udp::endpoint sınıfı ile kardeştir.Kolay kullanmak için şöyle yaparız.
using boost::asio::ip::tcp;
Constructor - default
Şöyle yaparız.
tcp::endpoint ep;
Constructor - protocol  + port
Sunucu socketlerde kullanılır. Şöyle yaparız.
tcp::endpoint ep (tcp::v4(), 6768);
Şöyle yaparız.
tcp::endpoint ep (ip::address_v4::any(), listen_port);
Constructor - address + port
Şöyle yaparız.
boost::asio::ip::address addr = ...
int port = ...;
tcp::endpoint ep (addr, port);
address metodu - setter
Şöyle yaparız.
ep.address (boost::asio::ip::address_v4::from_string("127.0.0.1"));
port metodu - setter
Şöyle yaparız.
ep.port (90);


log sources channel_logger_mt Sınıfı

Giriş
Şu satırı dahil ederiz.
#include <boost/log/sources/channel_logger.hpp>
Kolay kullanım için şu satırı dahil ederiz.
using LoggerType = boost::log::sources::channel_logger_mt<>;

3 Ekim 2016 Pazartesi

date_time time_iterator Sınıfı

Giriş
Şu satırı dahil ederiz.
#include "boost/date_time/posix_time/posix_time.hpp"
Constructor
Şöyle yaparız.
ptime now = second_clock::local_time();

//iterator adds by one hour
time_iterator it (now,hours(1)); 
operator < metodu
Şöyle yaparız.
ptime tommorrow = ...; 

for (; it < tommorrow; ++it) {
  std::cout << to_simple_string(*it) << std::endl;
}

locale normalize metodu

Giriş
Şu satırı dahil ederiz.
#include <boost/locale.hpp>
normalize
Şöyle yaparız.
const std::string g = "grüßEN";
std::cout << boost::locale::normalize(g, boost::locale::norm_nfc) << std::endl;
std::cout << boost::locale::normalize(g, boost::locale::norm_nfd) << std::endl;
std::cout << boost::locale::normalize(g, boost::locale::norm_nfkc) << std::endl;
std::cout << boost::locale::normalize(g, boost::locale::norm_nfkd) << std::endl;

locale info Sınıfı

Giriş
Şu satırı dahil ederiz.
#include <boost/locale.hpp>
name metodu
Şöyle yaparız.
std::locale loc = gen("en_US.UTF-8");

std::cout << std::use_facet<boost::locale::info>(loc).name() << std::endl;
std::cout << std::use_facet<boost::locale::info>(loc).language() << std::endl;
std::cout << std::use_facet<boost::locale::info>(loc).country() << std::endl;
std::cout << std::use_facet<boost::locale::info>(loc).variant() << std::endl;
std::cout << std::use_facet<boost::locale::info>(loc).encoding() << std::endl;
std::cout << std::use_facet<boost::locale::info>(loc).utf8() << std::endl;
Çıktı olarak şuna benzer bir şey alırız.
en_US.UTF-8
en
US

utf-8
1

1 Ekim 2016 Cumartesi

graph vertex_index

Elimizde şöyle bir graph tanımı olsun.
typedef boost::adjacency_list<boost::vecS, boost::vecS, ..., ..., ...> GraphType;
Şöyle yaparız.
const Graph g = ...;
auto index_map = boost::get (boost::vertex_index, g);
Şöyle yaparız.
boost::property_map<GraphType, boost::vertex_index_t>::type vertIndx =
 boost::get (boost::vertex_index, g);