Boost C++ Libraries Sandbox

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
C++用ライブラリBoost C++ Libraries の Sandboxについて語るスレです。

 Boostとは?
 1998年に、最初のC++言語の国際規格が誕生しました。
 その規格に採用されたライブラリがいわゆる「C++標準ライブラリ」です。
 しかしこのとき、さらに強力な標準ライブラリを求めて、
 標準化委員会のメンバー達が新しいプロジェクトを立ち上げました。
 それが Boost です。
 Boost の目標は、有用で、フリーな、 移植性のあるライブラリを実際に実装・公開し、
 いずれ来る次のC++標準化 (C++0X) の際に、 新標準ライブラリとして提供されることにあります。
2デフォルトの名無しさん:2009/08/16(日) 15:09:03
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。

アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。

                  京都大学霊長類研究所
3アイです。:2009/08/16(日) 16:38:55
■本家サイト■
 Boost C++ Libraries
 ttp://www.boost.org/

 BoostSandbox Boost C++ Libraries
 ttps://svn.boost.org/trac/boost/wiki/BoostSandbox

■本スレ■
 Boost総合スレ part7
 ttp://pc12.2ch.net/test/read.cgi/tech/1232367742/

■関連サイト■
 Boost 翻訳プロジェクト
 ttp://boost.cppll.jp/HEAD/
 
 Let's Boost
 ttp://www.kmonos.net/alang/boost/
 
 boost info
 ttp://shinh.skr.jp/boost/

■Subversion Repository■
 Boost正式
 svn co http://svn.boost.org/svn/boost/trunk/ [インストール先パス]
 BoostSandbox
 svn co http://svn.boost.org/svn/boost/sandbox [インストール先パス]
4デフォルトの名無しさん:2009/08/16(日) 17:28:32
boostが好きな奴って厨ばっか
5デフォルトの名無しさん:2009/08/16(日) 17:36:17
>>4
まあまあ、そう煽らないでくれよ。
6デフォルトの名無しさん:2009/08/16(日) 18:00:36
>>4
そんなに褒めんなよ、照れるじゃないか。
7デフォルトの名無しさん:2009/08/16(日) 20:03:25
Boost Sandbox
は Subversion リポジトリのサンドボックス・サブディレクトリに収納されています。

Boost Sandboxには、最終的にBoost C++ Librariesの一部となるよう意図された
未検証のコードが含まれています。
81:2009/08/16(日) 21:12:15
#include <cstring>//これがないとコンパイルが通らない
#include <boost/bigint/bigint.hpp>

boost::bigint aa("1111");
boost::bigint bb(aa);
boost::bigint cc("1000000000000000") ;
boost::bigint dd = cc / 10001 ;
//(1と0ばっかりですが、10進法です。)


こんなライブラリが含まれていたりします。
9デフォルトの名無しさん:2009/08/16(日) 21:22:13
またニッチなスレを・・

で、progress_displayを超える期待株は何かあったりしますか?
10デフォルトの名無しさん:2009/08/16(日) 21:27:03
>>9
あれを超える逸材はなかなか無いですね。
たぶん(笑)
11デフォルトの名無しさん:2009/08/16(日) 21:33:38
普通のboostと何か違うのか?
121:2009/08/16(日) 21:35:37
>>11
未検証のコードが含まれています。

未検証と言ってもかなり活発に開発中で、
Boostの厳しい検査に合格すれば
将来的に正式にBoost C++に乗れるもの達です。
13デフォルトの名無しさん:2009/08/16(日) 21:49:42
次世代C++の元の元ってわけか
完全に趣味の人くらいしか手を出さなそうだな.
もしくはboostの開発に関わりたい人か
何かboostにないいい感じのクラスはあるの?
141:2009/08/16(日) 23:11:13
>>13
まさにその辺を語り合いたいと思います。
とりあえず>>8なんかどうです?


私は全然しらないのでこれから勉強していきたいですが。
既に正式に含まれているregexやfusion、flyweightその他いくつもあるようですので
おそらく既存のライブラリが改訂される時も一度はSandboxを経由
するのでしょうかね。

未来のBoostですから相当おもしろそうな物がちらほら見られます。
filesystem-v3
とかもフォルダ名しか見てませんが面白そうですね。
15誘導:2009/08/17(月) 11:42:53
16デフォルトの名無しさん:2009/08/17(月) 11:57:48
とりあえずageてみる
本スレと統合すべきかどうか。
17デフォルトの名無しさん:2009/08/17(月) 12:49:42
ageんな
18デフォルトの名無しさん:2009/08/18(火) 00:03:09
調べるにも全て英語ページだな
暇つぶしにやるにもしんどいわ
19デフォルトの名無しさん:2009/08/18(火) 01:19:53
そうなんですよ。
英語だとやはりめんどくささ倍増ですよね。
20デフォルトの名無しさん:2009/08/22(土) 11:53:29
http://www.boostpro.com/vault/
Sandboxだけじゃなくてvaultも仲間に入れてあげて

http://permalink.gmane.org/gmane.comp.lib.boost.announce/234
にあるreview中のライブラリも触ってみると良いかもね
21デフォルトの名無しさん:2009/08/22(土) 16:55:45
Boost File Vault
Boostライブラリには入っていないけれど、その叩き台としたい、 というようなソースが転がっています。宝の山。^^

ってk.inaba氏が言ってた。
22デフォルトの名無しさん:2009/08/22(土) 17:33:48
もうk.inaba博士って呼ぼうぜ
23デフォルトの名無しさん:2009/08/22(土) 18:00:30
k.inaba氏も27歳か
24デフォルトの名無しさん:2009/08/22(土) 23:58:02
>>23
マジ!?
若いw
25デフォルトの名無しさん:2009/08/28(金) 17:11:34
本スレのタイトルはBoost"総合"スレなわけだし、Sandboxもあっちで扱って良いんじゃね?
26デフォルトの名無しさん:2009/08/28(金) 23:27:25
俺も微妙にそう思う。
まあSandboxに着目したのは良いと思うけど、
本スレがそんな勢いないから統合しても大丈夫じゃないかと。
27デフォルトの名無しさん:2009/08/29(土) 13:24:53
統合失調症
28デフォルトの名無しさん:2009/08/29(土) 17:08:19
boost自体がC++0xの砂場だったはずだけど…。

そのうちSandboxのSandboxができるのか?
29デフォルトの名無しさん:2009/08/29(土) 17:18:12
>>28
boostが砂場以上の役割を求められてきたから、
Sandboxを作る必要が出て来たってことだろうね。

SandboxのSandboxが出て来てもおかしくない。
30デフォルトの名無しさん:2009/08/29(土) 19:46:07
それがVaultじゃないの。
31デフォルトの名無しさん:2009/08/29(土) 20:37:27
linux kernelだとこんなことに

ttp://www.atmarkit.co.jp/flinux/rensai/watch2008/watch06a.html
> 順番としてはlinux-staging → linux-next → -mm → -rc → releaseという順番でパッチが流れていくことが期待されています。
32デフォルトの名無しさん:2009/08/29(土) 23:58:47
Boostもそうなるのだろうか。
Boost.Sandbox.Sandbox.Sandbox
33GOGO:2009/09/05(土) 02:44:37
PIC16F84Aへの書き込みの為SourceBoost6.0 Ver6.95を購入したのですが
操作手順が解りません,,,のです。、、、(--;

SourceBoost IDEのBoostC でHexフアイルを吐き出す為の

SourceBoost IDEの操作手順を教えて頂けませんか?

------------------------------------------------------------------
以下はCプログラムです。
------------------------------------------------------------------

#include<pic.h>
__CONFIG(0xfff2);
void ioport(void);
void main()
{
unsigned char port_data;
ioport();
while(1)
{
port_data = PORTA;
PORTB = port_data;
}
}
void ioport (void)
{
TRISA = 0x0f;
TRISB = 0;
}
34デフォルトの名無しさん:2009/09/05(土) 07:00:32
>>33
消えろやカス
35デフォルトの名無しさん:2009/09/05(土) 11:25:04
>>33
これはひどい
36デフォルトの名無しさん:2009/09/05(土) 11:53:19
次はASIO開発の質問をAsioと勘違いしてここに投下する俺が現れると予想
37デフォルトの名無しさん:2009/09/13(日) 13:02:49
噂のbigintのダウンロード方法が分かりません
38デフォルトの名無しさん:2009/09/13(日) 13:46:05
■Subversion Repository■
 Boost正式
 svn co http://svn.boost.org/svn/boost/trunk/ [インストール先パス]
 BoostSandbox
 svn co http://svn.boost.org/svn/boost/sandbox [インストール先パス]

これが一番便利かと。
Subversion使ってる・・・よね?
39デフォルトの名無しさん:2009/09/18(金) 21:42:08
>>37
どうしてこういうヤツって答えてもらっておいて
シカトするんだろうなぁ

って疑問に思いながらageてみるテスト
40デフォルトの名無しさん:2009/10/31(土) 20:47:21
死亡回避age
41デフォルトの名無しさん:2009/10/31(土) 23:05:49
Visutal Studio C++ 2005 Express Edition のときは
無事に build 出来たのですが
同じソースを
Visutal Studio C++ 2008 Express Edition で build しようとすると
Unknown compiler version - please run the configure tests and report the results
と出てきます
42デフォルトの名無しさん:2009/11/05(木) 23:34:52
ほしゆ
43デフォルトの名無しさん:2009/12/26(土) 18:15:53
死亡回避age
44デフォルトの名無しさん:2010/01/16(土) 20:06:45
死亡回避age
45デフォルトの名無しさん:2010/02/28(日) 18:42:16
死亡回避sage
46デフォルトの名無しさん:2010/03/21(日) 18:26:37
死亡回避sage
47デフォルトの名無しさん:2010/04/04(日) 17:42:13
死亡回避sage
48デフォルトの名無しさん:2010/04/06(火) 21:02:54
49デフォルトの名無しさん:2010/04/06(火) 23:58:16
50デフォルトの名無しさん:2010/04/11(日) 10:40:09
numeric bindingsが本家に入るのはいつになるだろか。
51デフォルトの名無しさん:2010/04/18(日) 10:28:09
Boost Geometryには期待している。
しばらくはCGALで我慢するが。
52デフォルトの名無しさん:2010/04/18(日) 10:44:55
Boost.Generic Geometry Libraryが採択されました - Faith and Brave - C++で遊ぼう
ttp://d.hatena.ne.jp/faith_and_brave/20091130/1259565033
より

Boost.GGLが採択されました。
レビューであがったいくつかの問題を修正し、正式にBoostに組み込まれることになります。

「"Generic" Geomerty Libraryというライブラリ名は誤解をまねきやすいので
Boost.Geometryとかに変えたほうがいいんじゃない(強制はしないけど)」
「理想的にはBoost.Polygonの作者と協力して合併することを期待したい」

といった意見があるようです。

だって。へー。
でも何に使うのか全然分からん。
53デフォルトの名無しさん:2010/04/18(日) 11:16:29
座標計算とか幾何図形の演算とかを、
配列とかpairとかtupleとか、その他「座標として扱える(特殊化された)クラス」を
(このあたりがGeneric?)混在して扱うことができるらしい。

しかし、こういう基地外じみた名前空間はどうにかならないだろうか。
boost::geometry::strategy::transform::translate_transformer<boost::geometry::point_2d, boost::geometry::point_2d>
54デフォルトの名無しさん:2010/04/18(日) 12:50:01
>>53
あたまおかしくなれるwww
55デフォルトの名無しさん:2010/04/18(日) 12:55:20
これじゃJava以下
56デフォルトの名無しさん:2010/04/18(日) 17:08:33
namespace tmp {
using namespace boost::geometry;
using namespace boost::geometry::strategy;
using namespace boost::geometry::transform;
}
namespace geo = tmp;

typedef geo::translate_transformer<geo::point_2d, geo::point_2d> T;

NSMP(名前空間メタプログラミング)始まったな
57デフォルトの名無しさん:2010/04/18(日) 17:20:47
ttp://www.bookshelf.jp/2ch/tech/1241438694.html
このスレで例外指向プログラミング言語の概念を提唱した
変態になりたがりの俺が通りますよ
58デフォルトの名無しさん:2010/05/15(土) 17:23:47
#include <utility>
#include <boost/mpl/assert.hpp>
#include <boost/type_traits/is_same.hpp>
#include <ftmpl/vector.hpp>
#include <ftmpl/fold.hpp>
#include <ftmpl/value.hpp>
#include <ftmpl/type.hpp>
using namespace boost::ftmpl;
struct add_
{
template<int a, int b>
value_t<int, (a+b)>& operator()(type_t<value_t<int, a>>&, type_t<value_t<int, b>>&);
} add;
int main(){
typedef decltype(vector(value<int, 1>(), value<int, 2>(), value<int, 3>())) lst;
typedef decltype(fold(type<add_>(),value<int,0>(), std::declval<lst>())) result;
BOOST_MPL_ASSERT((boost::is_same<result, value_t<int,6>&>));
}
59デフォルトの名無しさん:2010/12/17(金) 23:05:31
参加age
60デフォルトの名無しさん:2011/03/02(水) 17:52:00.41
VisualStudioで動く設定ずみ環境をダウンロードできるように
まとめる人いなかった?
61デフォルトの名無しさん:2011/03/06(日) 13:55:49.82
62デフォルトの名無しさん:2011/06/14(火) 05:44:14.41
property_treeのiniファイルパーサーですけど、セクションとキー文字列の
大文字小文字の区別を無くすにはどうすればいいのでしょうか?
63デフォルトの名無しさん:2011/06/14(火) 21:19:54.78
>>62
Boost スレで回答あったっていうかした。半日くらい待てんかね。
64デフォルトの名無しさん:2011/06/14(火) 21:58:12.82
>>63
すいませんせっかちなもんで。助かりました。
65デフォルトの名無しさん:2011/09/17(土) 15:38:00.60
おひさ〜
みなさんやってますか〜
66デフォルトの名無しさん:2011/11/01(火) 02:18:59.73
 
67デフォルトの名無しさん:2011/12/01(木) 13:50:09.25
ほしゅ
68Qtist:2012/07/20(金) 23:35:35.35
Boost総合スレがみつからなかったので、こちらに書かせてください。

boostで、実行ファイルのパスを取得する関数はあるのでしょうか?
filesystemを探したが見つからなかった。。。
環境は
OS:Ubuntu10.04
boost ver1.40
です。
69デフォルトの名無しさん:2012/07/21(土) 01:17:24.70
ないよ
70デフォルトの名無しさん:2012/07/25(水) 04:11:24.42
このスレ、1年に4つしか投稿無いけど読んでいる人いるのかな・・・

質問です。(boost 1.47.0使用)
asioで
ip:tcp:socket
ip::tcp::acceptor
io_service
あたりを使って通信プログラムを書いてます。

データのやり取りはできるようになったのですが、相手側の切断検出方法がわかりません。

イベントハンドラ登録か、socketあたりのisAlive()あたりがないかと期待したのですが、
どうもみつからない。アプローチがおかしいのでしょうか・・
ヒントをいただければ幸いです
71デフォルトの名無しさん:2012/07/25(水) 04:27:51.21
投稿した瞬間、readhandlerじゃないかと思って確認したら、
boost::asio::error::shut_down てのをみつけた、、これか・・・
がんばってみゆ・・。
72デフォルトの名無しさん:2012/07/25(水) 23:58:11.48
これ最新版だとインストーラ入らないのかな
解凍してbootstrap.batを実行したらビルドエンディングとかでてました
コレで全てのライブラリが使えるようになったのかな
73デフォルトの名無しさん:2012/07/27(金) 00:54:45.11
std::auto_ptr<float> x(new float(1.1)),y(new float(2.2)),z(new float(3.3));
std::cout << *x << " " << &(*x) << std::endl;

boost::ptr_list<float> l;
l.push_back(x);
std::cout << &(*l.begin()) << std::endl;

boost::ptr_list<float> l2(l.begin(),l.end());
std::cout << &(*l2.begin()) << std::endl;

全部同じアドレスがプリンとされるはずなのにされない
lをl2にコピーする方法間違ってるの?
74デフォルトの名無しさん:2012/07/27(金) 05:55:14.06
>>73
何を出力しているか判っている?
中身は同じでも入れ物自体は違うでしょ。
75デフォルトの名無しさん:2012/07/27(金) 08:29:53.68
>>73 view 使え
76デフォルトの名無しさん:2012/07/27(金) 09:33:01.60
viewは新しいバージョンにはないっぽい
77デフォルトの名無しさん:2012/07/27(金) 09:37:05.53
boost::ptr_list<float, boost::view_clone_allocator> l2(l.begin(),l.end());
すみません。これでいけました
78デフォルトの名無しさん:2012/07/27(金) 12:04:30.89
それ、スマートポインタを出力しようとしてない?

x.get() でナマポがもらえる。
79デフォルトの名無しさん:2012/07/27(金) 17:33:00.18
template<typename T>
func(const boost::ptr_list<T>& lis){...
}

constつけるといろいろおかしくなる。
std::listではconst_iteratorをiteratorに勝手に変換してくれるのに
80デフォルトの名無しさん:2012/07/27(金) 22:30:53.08
>>79
> std::listではconst_iteratorをiteratorに勝手に変換してくれるのに

んなわけあるか

#include <list>
typedef std::list<int> list;
list::iterator f(list::const_iterator i) { return i; }

: In function 'std::list<int>::iterator f(std::list<int>::const_iterator)':
:3:51: error: conversion from 'std::list<int>::const_iterator' to non-scalar type 'std::list<int>::iterator' requested
81デフォルトの名無しさん:2012/07/28(土) 09:23:37.58
11でコンテナのメンバのいくつかは、素のiteratorしか引数にできない->const_iteratorも引数にできる、に変わったんだが
そのあたりの挙動にからむ誤解なんじゃないか
82デフォルトの名無しさん:2012/08/02(木) 07:54:42.07
fusionのi番目要素求めるのに
コンパイル時にiがわかってるならat<i>で求められるけど
動的にi番目を求める方法ないのでしょうか

83デフォルトの名無しさん:2012/08/03(金) 09:02:28.14
コンパイル時にiがわかってないとi番目の型もわからんじゃないか
84デフォルトの名無しさん:2012/08/03(金) 12:55:47.57
i番目の型だけはコンパイル時に既に分かってる場合を考えて作ってみたら
要素の入ってない末尾に_voidなんて型が入っていてコンパイルエラー
85デフォルトの名無しさん:2012/08/03(金) 14:03:14.42
いつもニヤニヤあなたのコードに紛れ込む不具合、boostです!
どうぞ、boostとお呼びくださいねっ(はぁと)
86デフォルトの名無しさん:2012/08/03(金) 15:35:20.97
もどり値の型 Retをコンパイル時に指定する場合


template <typename IIterator> IIterator
list_ref_fusion_impl(IIterator i, int n ){
if(n>0){ return list_ref_fusion_impl(boost::fusion::next(i),n-1);}
return i;}

template <typename Ret,typename Sequence> Ret
list_ref(Sequence & seq, int n
){ return boost::fusion::deref(list_ref_fusion_impl(boost::fusion::begin(seq), n));}
87デフォルトの名無しさん:2012/08/03(金) 16:45:55.04
88デフォルトの名無しさん:2012/08/05(日) 05:58:12.71
type traitsと同様に使える
自分のカスタム
is_my_object
を作りたい
template<typename T>
struct is_my_object
{
typendef なにか type
bool value= なにか
}
の2つのメンバーさえ何らかの方法で定義すれば
他のis_arrayとかとmpl::and_ ,mpl::or_したりして使えるの?
89デフォルトの名無しさん:2012/08/12(日) 21:16:33.91


boost::mpl::true_::value;//true

boost::mpl::true_()(12);//error

bool operator()(const T &t){return true;}
ぐらい追加しろよ

90デフォルトの名無しさん:2012/08/14(火) 20:07:54.15
boost::fusion::vector
で3番めの要素を型も含めて変更することできないの?

at<3>(v)=`c`
at<3>(v)="aaaaa"

みたいなことしたい
91デフォルトの名無しさん:2012/08/14(火) 21:53:22.40
たぶんinsertとeraseでやるんじゃないの
92デフォルトの名無しさん:2012/08/15(水) 01:08:19.94
メモリー効率を考えて
view_clone_allocator
を使いまくってるけど
OpenCVとかもこれ使うと元のアルゴリズムより高速になることあるんだろうか
93デフォルトの名無しさん:2012/08/15(水) 05:04:33.71
enable_if で場合分けした関数を作ってるとresult_ofが自動で型推論されない
94デフォルトの名無しさん:2012/08/18(土) 16:15:27.33
時間を扱うライブラリとして、
boost::posix_time, boost_chrono, boost::xtime
など色々あると思うのですが、
なぜこんなに色々あるんでしょうか。
使い分けすべきなのか、どれか一つだけを使うべきなのかよく分かりません。
使い分けすべきであるなら、どのような使い分けがあるのでしょうか。
95デフォルトの名無しさん:2012/08/18(土) 20:32:06.16
posix_time boost::date_timeの一部
xtime boost::threadの一部
chrono C++11で標準入りしたstd::chronoのboost版実装
96デフォルトの名無しさん:2012/08/24(金) 03:07:27.57
てことで使えるならstd::chrono
それがだめでboostが使えるならboost::chronoを使うのが良いのかね
97デフォルトの名無しさん:2012/10/13(土) 11:53:10.82
ho
98デフォルトの名無しさん:2013/01/07(月) 20:39:24.89
文字列との相互変換はposix_time(というかBoost.Date_time)のほうが
充実していて便利ではないか?
と思ったが、Boost.Chronoには標準ライブラリにないIOがあった。
標準にも欲しいぞ。
99デフォルトの名無しさん:2014/03/10(月) 15:18:08.87
浅岡 坂井 近藤 倉石 関 江村 鎌原 棉田 松井 壇原 宮脇 武田

会津 石田 佐々木 光
100デフォルトの名無しさん:2014/03/14(金) 17:45:27.71 ID:CK9f1Jhe
テスト
101デフォルトの名無しさん:2014/03/25(火) 15:41:25.38 ID:+56HsUBT
>大阪府三島郡島本町の小学校や中学校は、暴力イジメ学校や。
島本町の学校でいじめ・暴力・脅迫・恐喝などを受け続けて廃人同様になってしもうた僕が言うんやから、
まちがいないで。僕のほかにも、イジメが原因で精神病になったりひきこもりになったりした子が何人もおる。
教師も校長も、暴力やいじめがあっても見て見ぬフリ。イジメに加担する教師すらおった。
誰かがイジメを苦にして自殺しても、「本校にイジメはなかった」と言うて逃げるんやろうなあ。
島本町の学校の関係者は、僕を捜し出して口封じをするな

>島本町って町は、暴力といじめの町なんだな

子供の時に受けた酷いイジメの体験は、一生癒えない後遺症になるなあ
102デフォルトの名無しさん:2014/03/25(火) 16:31:27.32 ID:Y5CdI20o
Boostに正規表現がはいってる
103デフォルトの名無しさん:2014/03/27(木) 13:30:25.78 ID:KGuDFgH7
>>101 どこの誤爆だw
島本町は教育委員会含めて屑ぞろいだからな
廃校決まった地元の底辺高校へ進学させようとする屑教師とかいまだに健在なんだろうか?
104デフォルトの名無しさん:2014/03/27(木) 13:32:40.75 ID:KGuDFgH7
あと、児童臨時保管所の運営も厚生していかんとどうにもならん
105デフォルトの名無しさん:2014/03/28(金) 01:16:14.48 ID:lWUuhJ1Q
NGNG
106デフォルトの名無しさん:2014/08/04(月) 01:48:25.89 ID:380FSYFH
最新のコンピュータはBoostライブラリを使ったソースコードをコンパイルして楽しむ為にあるのではないかと思えてきた
107デフォルトの名無しさん:2014/08/14(木) 12:50:23.80 ID:8EuqiR5k
最近はboostよりC++11、14のほうが熱く感じる
rvalure ref、constexprなど面白い
boostはver1.56なってもうやりつくした感で今後の予定も未定になってしまった
108デフォルトの名無しさん:2014/08/14(木) 13:03:54.84 ID:IO6GCou6
別ジャンルのものを比べてどうする
109デフォルトの名無しさん
比べるならDだぬ