31 Ocak 2017 Salı
graph remove_vertex metodu
30 Ocak 2017 Pazartesi
endian
Giriş
Şu satırı dahil ederiz.
Constructor
Şöyle yaparız.
Şöyle yaparız.
Şöyle yaparız.
Constructor
Şöyle yaparız.
value metodu
Şöyle yaparız.
Şu satırı dahil ederiz.
#include <boost/endian/buffers.hpp>
big_uint64_buf_t SınıfıConstructor
Şöyle yaparız.
big_uint64_buf_t be;
operator = metoduŞöyle yaparız.
uint64_t v= uint64_t(0x1011121314151617);
// Set values, implicit native_to_*
be= v;
value metoduŞöyle yaparız.
v= be.value();
little_uint64_buf_t SınıfıConstructor
Şöyle yaparız.
little_uint64_buf_t l;
operator = metodu
Şöyle yaparız.
Şöyle yaparız.
uint64_t v= uint64_t(0x1011121314151617);
l= v;
Şöyle yaparız.
v= l.value();
property_map dynamic_properties Sınıfı
Giriş
Şu satırı dahil ederiz.
Şöyle yaparız
Şöyle yaparız
Şöyle yaparız
Şu satırı dahil ederiz.
#include <boost/property_map/property_map.hpp>
TanımlamaŞöyle yaparız
typedef dynamic_properties Properties;
ConstructorŞöyle yaparız
Properties props(ignore_other_properties);
Şöyle yaparız.boost::dynamic_properties props (boost::ignore_other_properties);
property metoduŞöyle yaparız
props.property("url", get(&VertexProperties::url, graph));
Şöyle yaparızmap<string, string> attribute_name2name;
associative_property_map<map<string, string>> graphname_map(attribute_name2name);
props.property("title", graphname_map);
29 Ocak 2017 Pazar
graph dijkstra_shortest_paths_no_color_map metodu
Şöyle yaparız.
// Compute maxmin tree
dijkstra_shortest_paths_no_color_map(
graph, // Graph
root_vertex, // Start vertex
weight_map(...). // Link property map
distance_compare(...). // Compare maxmin path lengths (if maxmin > maxmin)
distance_combine(...). // Get min weight of the path
predecessor_map(...). // Result tree
distance_map(...) // Result distances
);
Etiketler:
dijkstra_shortest_paths_no_color_map,
graph
28 Ocak 2017 Cumartesi
asio async_read_until metodu
Giriş
Bu metodun tam 4 tane overload edilmiş hali mevcut. Alltaki soketin async_read_some metodunu kullanır. İşlem sonunda delimeter da okunan buffer'a dahildir.
asyn_read_until - socket + streambuf + delimeter + handler
İmzası şöyle
Elimizde bir streambuf olsun.
Şöyle yaparız.
Bu metodun tam 4 tane overload edilmiş hali mevcut. Alltaki soketin async_read_some metodunu kullanır. İşlem sonunda delimeter da okunan buffer'a dahildir.
asyn_read_until - socket + streambuf + delimeter + handler
İmzası şöyle
void-or-deduced async_read_until(
AsyncReadStream & s,
boost::asio::basic_streambuf< Allocator > & b,
char delim,
ReadHandler handler);
Şöyle yaparız.boost::asio::async_read_until(socket, streamBuf, "\r\n\r\n", read_handler);
read_handler şöyledir
void read_handler (boost::system::error_code ec, std::size_t nr)
{
...
if (ec) {
...
} else {
...
}
}
read_handler için lambda kullanmak istersek şöyle yaparız.async_read_until(socket,streamBuf,delim,
[](const system::e_code& ec, std::size_t bytes_transferred){
...
if (ec != 0) {
std::cout << ec.message() << " (" << ec.value() << ") " << std::endl;
return;
}
...
});
async_read_until - socket + streambuf + delimeter + yieldElimizde bir streambuf olsun.
boost::asio::streambuf streamBuf;
Şöyle yaparız. Burada yield ne işe yarıyor bilmiyorumsize_t bytes = 0;
bool eof = false;
try {
bytes = boost::asio::async_read_until(as_stdin, streamBuf, '\n', yield);
} catch(std::exception const& e) {
std::cerr << "Exception: " << e.what() << "\n";
bytes = 0;
eof = true;
}
if (eof) break;
async_read_until - socket + streambuf + delimeter + error_codeŞöyle yaparız.
boost::system::error_code ec;
auto bytes = boost::asio::async_read_until(as_stdin, streamBuf, '\n', yield[ec]);
if (ec) {
...
}
regex sregex_token_iterator Sınıfı
Giriş
Şu satırı dahil ederiz.
Şöyle yaparız.
Şöyle yaparız.
Şu satırı dahil ederiz.
#include <boost/regex.hpp>
Constructor - iter + iter + regexŞöyle yaparız.
std::string text("abc abd");
boost::regex regex("ab.");
boost::sregex_token_iterator iter(text.begin(), text.end(), regex, 0);
operator * metoduŞöyle yaparız.
std::string text("abc abd");
boost::regex regex("ab.");
boost::sregex_token_iterator iter(text.begin(), text.end(), regex, 0);
boost::sregex_token_iterator end;
for( ; iter != end; ++iter ) {
std::cout<<*iter<<'\n';
}
Çıktı olarak şunu alırız.abc
abd
27 Ocak 2017 Cuma
flyweight
Giriş
Açıklaması şöyle
Tanımlama
Şöyle yaparız
Açıklaması şöyle
Boost.Flyweight makes it easy to use this common programming idiom by providing the class template flyweight<T>, which acts as a drop-in replacement for const T.
Şöyle yaparız
boost::flyweights::flyweight<Foo>;
Şöyle yaparıztypedef flyweight<character_data> character; std::vector<character> scanned_html;
26 Ocak 2017 Perşembe
iostreams basic_array_source Sınıfı
Giriş
Readonly okuma aracıdır. Kolay kullanım için şu satırı dahil ederiz.
Readonly okuma aracıdır. Kolay kullanım için şu satırı dahil ederiz.
using namespace boost::iostreams;
Tanımlama
Şöyle yaparız.
string
Şöyle yaparız
stream ile okuma
stream_buffer Sınıfı ile bu sınıf stream haline getirilebilir.
boost::iostreams::basic_array_source< uint8_t > source
Eğer istersek char ile de tanımlayabiliriz.boost::iostreams::basic_array_source<char> source
;
constructor - pointer + sizestring
Şöyle yaparız
typedef boost::iostreams::basic_array_source<char> source;
const std::string str = ...;
source bs (str.data(), str.size());
vector
Şöyle yaparıztypedef std::vector< char > Buffer;
Buffer buffer = //Fill vector
typedef boost::iostreams::basic_array_source< uint8_t > source;
source bs (buffer.data(), buffer.size());
Şöyle yaparız.std::vector<char> Buffer = ...;
basic_array_source<char> source
(&Buffer[0], Buffer.size());
Diğerstream ile okuma
stream_buffer Sınıfı ile bu sınıf stream haline getirilebilir.
Kaydol:
Kayıtlar (Atom)