タグ

2011年11月30日のブックマーク (43件)

  • Big Sky :: C++でcoutやcerrの挙動を変える。

    先日twitterで「C++でデバッグする時、よくやるよね」って言ったら結構知らない人がいたのでここでも紹介してみる。 既存のコードでcout/cerrを使ったデバッグ文がわんさかあって、これログファイルとして出力したいな...って場合ありますよね。 そんな場合 #include <iostream> #include <fstream> using namespace std; int main() { // こんなの ofstream ofs("debug.log"); cout.rdbuf(ofs.rdbuf()); // いれとく cout << "debug string" << endl; } こうしておくと、その後のcoutへの出力が全てdebug.logというファイルへ出力される。 なおrdbufを元に戻すには #include <iostream> #include <f

    Big Sky :: C++でcoutやcerrの挙動を変える。
    nilab
    nilab 2011/11/30
    Big Sky :: C++でcoutやcerrの挙動を変える。 : ofstream ofs("debug.log"); cout.rdbuf(ofs.rdbuf()); freopen("file.txt", "w", stdout);
  • [ヅ] C++ と picojson で Twitter 検索の JSON データをパースしてみる (2011-11-30)

    Big Sky :: ヘッダファイルだけでC++から使えるJSONパーサ「picojson」が凄い! で紹介されていたコードをベースにして、コマンドライン引数を検索キーワードとするTwitter検索を作ってみた。 ソースコード: twisearch.cpp #include <curl/curl.h> // /usr/include/curl/curl.h #include "picojson.h" typedef struct { char* data; // response data from server size_t size; // response size of data } MEMFILE; MEMFILE* memfopen() { MEMFILE* mf = (MEMFILE*) malloc(sizeof(MEMFILE)); mf->data = NULL; mf

    nilab
    nilab 2011/11/30
    ヅラッシュ! - C++ と picojson で Twitter 検索の JSON データをパースしてみる
  • [ヅ] iPhone と Windows Address Book の vCard ファイル (*.vcf) 比較 (2011-11-30)

    今回の環境 iPhone 4S + iOS 5.0.1 + 標準の「連絡先」アプリ Windows XP + Outlook Express 6 + Windows Address Book 大雑把な流れ iPhone の連絡先アプリで新規連絡先を入力 iTunes 10.5 (Windows XP) で iPhoneWindows Address Book を同期 Windows Address Book から vCard をエクスポート iPhone 4S + iOS 5.0.1 の「連絡先」アプリで作成した新規連絡先 サンプルは昨日作ったファイル: ⇒ ヅラッシュ! - Javaandroid-vcard で vCard ファイル (*.vcf) をパースするサンプル 「連絡先」アプリの「連絡先を送信」機能で vcf ファイルをメールで送る。 vcf ファイルの文字コード

    nilab
    nilab 2011/11/30
    アドレス帳データの移行は大変。。。 / ヅラッシュ! - iPhone と Windows Address Book の vCard ファイル (*.vcf) 比較
  • aiko、シングル「ずっと」MV完成! 憧れのTHE COLLECTORSギタリスト、古市コータローも登場! - CDJournal ニュース

    aiko、シングル「ずっと」MV完成! 憧れのTHE COLLECTORSギタリスト、古市コータローも登場! aikoのニュー・シングル「ずっと」のミュージック・ビデオが完成! テレビCMもオフィシャル・ホームページでも公開となりました。 「ずっと」はフジテレビ系ドラマ『蜜の味〜A Taste Of Honey〜』の主題歌としてオンエア中。「頭を真っ白にして概念を捨てて創った楽曲」とaiko人が語るように、大切な人を想い続ける気持ちが描かれ ている、まっすぐなバラード。今回このミュージック・ビデオを手がけたのは、フジテレビの中江功監督。『眠れる森』(98年)『Dr.コトー診療所』(03年)『プライド』(04年)など数多くのヒットドラマを手掛けている中江氏ですが、aikoのミュージックビデオを手掛けるのは なんと今作で5回目。中江監督らしいドラマ仕立ての演出で、“大切な人をひたむきに想う気

    aiko、シングル「ずっと」MV完成! 憧れのTHE COLLECTORSギタリスト、古市コータローも登場! - CDJournal ニュース
    nilab
    nilab 2011/11/30
    aiko、シングル「ずっと」MV完成!憧れのTHE COLLECTORSギタリスト、古市コータローも登場!「珍しく男性の共演者が登場。気になる相手役は、彼女自身がかねてからファンであると公言しているバンド」
  • 花王 リセッシュ | リセッシュ除菌EX | 汗のニオイ予防

    nilab
    nilab 2011/11/30
    CM見ててなんか違和感があったので。「リセッシュ除菌EXは、おひさまに干したような消臭・除菌力」「※消臭除菌メカニズムは天日干しとは異なります」花王 リセッシュ | リセッシュ除菌EX | 汗のニオイ予防
  • Engadget | Technology News & Reviews

    My iPhone 11 is perfectly fine, but the new buttons on the iPhone 16 are compelling

    Engadget | Technology News & Reviews
    nilab
    nilab 2011/11/30
    「各サービスへのリンクをGoogle ロゴのクリックでドロップダウン展開するメニューに折りたたみ、またGoogle+ の通知・共有ボタンを検索窓と同じ段の右端に配置」Googleサービス共通のGoogleバー刷新、黒オビを撤去
  • アップル、サブスクリプション制ゲームアプリを取り下げ--承認後に削除

    Appleは米国時間11月23日、最近承認したBig Fish Gamesのソフトウェア「Play Instantly!」を「App Store」から削除した。iLoungeが伝えている。 この件に詳しい情報筋によると、このアプリが採用している、月ごとのサブスクリプション制でゲーム利用を可能にするという手法は、Appleが許可しているものではなく、来はAppleのアプリレビュープロセスを通過するはずがなかったという。 Appleの広報担当者はコメントを控えた。また、Big Fish Gamesからは回答を得られなかった。 Big Fish Gamesの創業者であるPaul Thelen氏は、Bloombergに対し、同社は「何が起きたかを確認するようAppleに依頼しようとしている」と述べている。同氏はまた、Appleは承認の前に同社のプレスリリースを見ており、そのときには問題にならなか

    アップル、サブスクリプション制ゲームアプリを取り下げ--承認後に削除
    nilab
    nilab 2011/11/30
    アップル、サブスクリプション制ゲームアプリを取り下げ--承認後に削除 - CNET Japan「Appleは米国時間11月23日、最近承認したBig Fish Gamesのソフトウェア「Play Instantly!」を「App Store」から削除」
  • “2人だけのSNS” 恋人たちの専用アプリ「Honeylemon」

    デジタル・アドバタイジング・コンソーシアムは11月30日、恋人同士でコミュニケーションするためのiPhoneアプリ「Honeylemon」をApp Storeでリリースした。「2人だけのSNS」(同社)を作れる甘いアプリだ。無料。 恋人に気持ちを伝えるメッセージ機能や、2人で行った思い出スポットを記録していくデートスポット機能、誕生日や2人の思い出の日を記録・管理する記念日機能、恋人との約束事やお願い事を記録するメモ機能──を搭載し、恋人たちをサポートする。 メッセージ機能は「お互いがそばにいなくても、二人の距離を近くに感じることができる機能」、メモ機能は「恋人との約束を破ってしまうと、ふたりの関係が悪くなってしまうかもしれません。『忘れてた……』なんてことにならないように、きちんとMemoに残しておきましょう」という説明が。恋人たちが「甘酸っぱい恋愛ライフをおくることができるアプリ」(同

    “2人だけのSNS” 恋人たちの専用アプリ「Honeylemon」
    nilab
    nilab 2011/11/30
    「2人の思い出スポットを記録していくデートスポット機能、誕生日や2人の思い出の日を記録・管理する記念日機能、恋人との約束事やお願い事を記録するメモ機能」“2人だけのSNS” 恋人たちの専用アプリ「Honeylemon」
  • Tabbing and Indentation

    nilab
    nilab 2011/11/30
    Tabbing and Indentation : 自動インデントは好きじゃないので jEdit のメニューから Utilities → Global Options → Shortcuts にて Insert Newline に ENTER を設定して Insert Newline and Indent の ENTER を解除。
  • share - Revision 39279: /lang/cplusplus/picojson/trunk/examples

    nilab
    nilab 2011/11/30
    share - Revision 39079: /lang/cplusplus/picojson/trunk/examples : iostream.cc : irc-watcher.cc : wassr-timeline.cc
  • Undo and Redo

    nilab
    nilab 2011/11/30
    Undo and Redo
  • フリーソフトウェア徹底活用講座(5)

    ここでは,GCCの実行時に影響を及ぼす環境変数について記します. ファイルを探索する際に利用されるディレクトリ,または接頭語を指定することによって作用を及ぼします.また,環境変数はコンパイル環境の他の側面を指定するためにも使われます.探索される場所については,-B,-I,-Lのようなオプションを使うことによっても指定可能であることに注意してください(第4回で説明した「ディレクトリ探索のためのオプション」を参照). もちろん,コマンドラインオプションによる指定は,環境変数による指定よりも優先されます.一方,環境変数による指定は,GCCのコンフィグレーションにおける指定よりも優先されます. ● LANG ● LC_CTYPE ● LC_MESSAGES ● LC_ALL 以上の環境変数は,異なる国の慣習をサポートできるようにGCCがローカライズ情報を使う方法をコントロールします. GCCは,c

    nilab
    nilab 2011/11/30
    フリーソフトウェア徹底活用講座(5) : GCCの実行時に影響を及ぼす環境変数
  • Google、ユーザーデータの移転を容易にする「Data Liberation」の活動を紹介 

    nilab
    nilab 2011/11/30
    ロックインしないGoogleは偉い(・∀・) でもプライバシーまでオープンにして欲しくないなー。「なぜオープンにこだわるかと言うと、そもそも我々はオープンでなければ存在できない」ユーザーデータ移転 Data Liberation
  • Big Sky :: libuvを使ってみた。

    node.jsのスライドを見てて、プラットフォームの違いを吸収するnode.jsの核でもある非同期通信ライブラリuvを今日知ったので試してみた。 joyent/libuv - GitHub platform layer for node.js https://github.com/joyent/libuv libev/libeventをwindowsでもちゃんと使いたいという所から出てきたライブラリ。 #include <iostream> #include <uv/uv.h> int main() { int r; uv_tcp_t tcp; struct sockaddr_in server_addr; server_addr = uv_ip4_addr("127.0.0.1", 80); r = uv_tcp_init(uv_default_loop(), &tcp); uv_con

    Big Sky :: libuvを使ってみた。
    nilab
    nilab 2011/11/30
    Big Sky :: libuvを使ってみた。 : 「プラットフォームの違いを吸収するnode.jsの核でもある非同期通信ライブラリuv」「libev/libeventをwindowsでもちゃんと使いたいという所から出てきたライブラリ」
  • /lang/cplusplus/picojson/trunk/picojson.h – CodeRepos::Share – Trac

    * Redistribution and use in source and binary forms, with or without

    nilab
    nilab 2011/11/30
    /lang/cplusplus/picojson/trunk/picojson.h – CodeRepos::Share – Trac
  • Google Chrome Community

    4 年以上前の Chrome バージョンでの Chrome 同期機能のサポート終了について お知らせ いつも Chrome をご利用いただきありがとうございます。 2025 年初頭より、Chrome 同期機能(Google アカウントでのデータの使用と保存)は、4 年以上前の Chrome バージョン…

    nilab
    nilab 2011/11/30
    「気がついたらラジオボタンとチェックボックスが表示されなくなっていた」「あるとき右クリックで「印刷(R)...」のダイアログを出しただけで直りました」ラジオボタンとチェックボックス - Google Chrome
  • http://takeno.iee.niit.ac.jp/~shige/unix/memo/data/libsvg014-color-1.diff

    nilab
    nilab 2011/11/30
    libsvg014-color-1.diff : diff -uN libsvg-0.1.4/src/svg_color.c.ORG libsvg-0.1.4/src/svg_color.c
  • Unix memo (in Japanese)

    UNIX に関するメモ等 はじめに (01/29 2014 更新) メモ等の2022 年 (08/30 2022 更新) [New!] 2021 年 (10/18 2021 更新) 2020 年 (02/28 2020 更新) 2019 年 (09/24 2019 更新) 2018 年 (11/20 2018 更新) 2017 年 (06/27 2017 更新) 2016 年 (10/13 2016 更新) 2015 年 (06/05 2015 更新) 2014 年 (10/13 2014 更新) (過去にさかのぼって情報を追加) 2013 年 (12/13 2013 更新) (過去にさかのぼって情報を追加) 2012 年 (05/02 2013 更新) (過去にさかのぼって情報を追加) 2011 年 (12/23 2011 更新) 2010 年 (12/20 2010 更新) 20

    nilab
    nilab 2011/11/30
    Unix memo (in Japanese):「なぜか緑色 (green) が出ません。 調べてみると、どうやら libsvg のバグのようです。 src/svg_color.c に色の表があるのですが、 それに対して色文字列から色データを引くときに bsearch() を使っていて、 bsearch()
  • Index of /sources/librsvg/2.35/

    nilab
    nilab 2011/11/30
    ftp.gnome.org : librsvg-2.35.0.tar.bz2
  • librsvg 2.35.0

    nilab
    nilab 2011/11/30
    本家 librsvg のサイトの記述が2005年で止まってたけど最新版は Version 2.35.0 らしい。2011-11-14リリースぽい。 / librsvg 2.35.0
  • MS RFC 73: Improved SVG symbols support — MapServer 8.2.2 documentation

    nilab
    nilab 2011/11/30
    MS RFC 73: Improved SVG symbols support — MapServer 6.0.1 documentation : "When an SVG symbol is requested, other renderers will trigger a call to msRenderSVGToPixmap which will parse the referenced svg file (using libsvg-cairo) and render the svg into the symbol’s pixmapbuffer using cairo."
  • Gnomedesktop.org

    📣 Gnomedesktop.org is pleased to announce that we have merged our websites and expertise with the fun team at emojiguide.com, a provider of the most comprehensive guide for emojis. 🎉🎉🎉 📍 About GNOME GNOME is a free and open-source desktop environment for UNIX-style operating systems. GNOME is part of the GNU project, which was launched in 1984 to develop a complete UNIX-style operating system

    Gnomedesktop.org
    nilab
    nilab 2011/11/30
    The story of two SVG libraries | FootNotes : "librsvg now can support multiple rendering backends, with libart and Cairo backends implemented"
  • Gmane Loom

    nilab
    nilab 2011/11/30
    Discussion of the cairo graphics library : 「redesigning the arguments for svg2png」「svg_create(&svg, -1); // default resolution」
  • Untitled

    Database Not Connected. Please setup the database. No SETUP directory found.

    nilab
    nilab 2011/11/30
    Taken SPC : xsvg のインストール : 「cairo のスナップショットディレクトリから libsvg 0.1.2.tar.gz 、 libsvg-cairo 0.1.4.tar.gz 、 xsvg 0.1.4.tar.gz をダウンロード」
  • T2 package - x11/libsvg-cairo - Render SVG content using cairo

    nilab
    nilab 2011/11/30
    T2 package - trunk - libsvg-cairo - Render SVG content using cairo : libsvg-cairo-0.1.6.tar.gz : "Libsvg-cairo provides the ability to render SVG content from files or buffers. All rendering is performed using the cairo rendering library."
  • T2 package - x11/libsvg - A library for SVG files

    nilab
    nilab 2011/11/30
    T2 package - trunk - libsvg - A library for SVG files : libsvg-0.1.4.tar.gz : Libsvg provides a parser for SVG content in files or buffers. - Libsvg does not do any rendering, but instead provides a function-based interface that can be used by various rendering engines.
  • Index of /snapshots

    nilab
    nilab 2011/11/30
    Index of /snapshots : libsvg と lib svg-cairo
  • 米Yahoo!がJavaScriptフレームワーク「Mojito」と、Node.jsのホスティング環境「Manhattan」発表。同一コードをブラウザ、サーバ、iOSアプリで実行可能

    Yahoo!JavaScriptフレームワーク「Mojito」と、Node.jsのホスティング環境「Manhattan」発表。同一コードをブラウザ、サーバ、iOSアプリで実行可能 JavaScriptでアプリケーションを1つ書けば、それがPCでも、クラウドでも、モバイルデバイスでも動作する。米Yahoo!が発表した「Cocktails」(カクテル)が実現するのは、すべてをWeb標準で実現したクロスプラットフォーム/クロスデバイスのアプリケーション環境です。 マルチプラットフォームを実現する「Mojito」 Cocktailsの核となるのが、JavaScriptフレームワークの「Mojito」(モヒート)。 Mojitoベースのコードは、ブラウザでもサーバでも動作すると説明されています。 With Mojito, developers will no longer have to wri

    米Yahoo!がJavaScriptフレームワーク「Mojito」と、Node.jsのホスティング環境「Manhattan」発表。同一コードをブラウザ、サーバ、iOSアプリで実行可能
    nilab
    nilab 2011/11/30
    米Yahoo!がJavaScriptフレームワーク「Mojito」と、Node.jsのホスティング環境「Manhattan」発表。同一コードをブラウザ、サーバ、iOSアプリで実行可能 - Publickey
  • Yahoo! Announces Cocktails – Shaken, Not Stirred · YDN Blog

    Developers, time to geek out. Yahoo! has been working behind the scenes for the past several months on an exciting new technology that we think will deeply impact the web developer community. We call it “Cocktails” and it’s the technology powering Livestand, which we launched today at Product Runway. “Cocktails” is a mix of HTML5, Node.JS, CSS3, JavaScript and a lot of ingenious, creative mind-ben

    nilab
    nilab 2011/11/30
    Yahoo! Announces Cocktails – Shaken, Not Stirred · YDN Blog : Mojito, Manhattan, Livestand : 共通言語でクライアントサイドもサーバーサイドも
  • 名古屋営業所開設について | 株式会社サイバーエージェント

    nilab
    nilab 2011/11/30
    名古屋営業所開設について | 株式会社サイバーエージェント:「2002年5月20日、東海地区においてインターネット広告代理事業を本格的に開始するための営業拠点として、下記の通り名古屋営業所を開設いたします」
  • ダイキン工業株式会社の求人 - [REC-LOG rec-log.jp]

    リクログをご利用いただいた皆様 Cloud Solutions株式会社は、2020年7月31日をもって、採用業務支援システム「リクログ」の提供を終了致しました。 サービスを長年ご活用頂き、誠にありがとうございました。

    nilab
    nilab 2011/11/30
    へー。「■求めるスキル 基本的なスキル(必須) ・Web系プログラム (node.js もしくは Java)」株式会社サイバーエージェントの求人情報「【node.jsエンジニア(正社員)】アメーバ事業本部」 - [REC-LOG rec-log.jp]
  • モバイル Google マップの新境地、構内地図が見られるようになりました。

    Google マップは、2005 年にデスクトップ版が誕生し、その2 年後、2007 年 7 月にいつでもどこでも地図を見られるサービスとして、モバイル Google マップが登場しました。その年の12 月 にはGPS で端末がどこにあるのかを地図上に青い点で示す My Location が追加され、地図を見るためのものから、今いる場所を調べたり、道順を見たり、周囲にある面白いお店やレストランをすぐに探せるサービスとして、世界中で毎月 2 億 5000 万人以上に利用されるサービスに成長してきました。 これまで、屋外であれば世界中のほとんどの場所をモバイル Google マップで見ることができましたが、日、新たに構内図が見られる「インドア Google マップ」が登場しました。 複数階の建物でも、どのフロアかを自動的に判別して、その階の地図とMy Location の青いアイコンが表示さ

    モバイル Google マップの新境地、構内地図が見られるようになりました。
    nilab
    nilab 2011/11/30
    AndroidアプリでインドアGoogleマップ。「複数階の建物でも、どのフロアかを自動的に判別」Google Japan Blog: モバイル Google マップの新境地、構内地図が見られるようになりました。
  • librsvg

    SVG描画ライブラリ http://librsvg.sourceforge.net/ このライブラリはlibsvgでないところがポイントで、このライブラリの守備範囲を的確に示している。 すなわち、rというのはrenderingであり、librsvgsvgの描画のみを行う。 requiredFeatures="org.w3c.svg.static"といったところである。 現在の実装レベルとしては基的なところは押さえたといったところである。 このライブラリはGillというアプリケーションを先祖にもち、 SVGをベースとするドローソフトSodipodiにソースレベルで使われていたりする。 依存関係 libxml2 libart_lgpl GdkPixbuf glib Pango Windowsでは このライブラリのWindows版は現在のところ存在しないようだ。ではあるが、実際の話、移植する

    nilab
    nilab 2011/11/30
    「このライブラリはlibsvgでないところがポイントで、このライブラリの守備範囲を的確に示している。すなわち、rというのはrenderingであり、librsvgはsvgの描画のみを行う」librsvg
  • Page Redirection - GNU Project

    This page has been incorporated into another. If you are not redirected automatically, click here. For questions related to the use of GCC, please consult these web pages and the GCC manuals. If that fails, the gcc-help@gcc.gnu.org mailing list might help. Comments on these web pages and the development of GCC are welcome on our developer list at gcc@gcc.gnu.org. All of our lists have public archi

    nilab
    nilab 2011/11/30
    C++0x/C++11 Support in GCC - GNU Project - Free Software Foundation (FSF)
  • 久々にC++使ったら進化してて素敵になってた件 – taichino.com

    最近、数年ぶりにC++を触っているのですが、いつの間にかかなり使いやすくなっていました。まだ全容は把握できてないのですが、とりあえず印象に残った以下の項目について書いてみたいと思います。 BOOST_FOREACHとautoですっきりループ tupleで無くなる無駄な構造体 #pragma onceで楽々インクルードガード std::functionとlamda関数でコンパクトなコード typeidでリフレクション 主にC++0x周りの話だと思っていますが、勘違いしている可能性も高いです。 前置きですが、エントリ内のコードはすべてgccの4.5.0で動作確認を行っています。(mac portのgcc45パッケージをインストールしました)。またビルド時にはc++0xの使用を明示する必要があります。 $ g++-mp-4.5 -std=c++0x main.cpp 1. BOOST_FORE

    nilab
    nilab 2011/11/30
    久々にC++使ったら進化してて素敵になってた件 « taichino.com
  • C++11 FAQ

    訳者注 下記の文章は C++0x - the next ISO C++ standard の暫定勝手和訳です。 翻訳は現在進行中であり、未完成かつ不正確である可能性があります。 っていうか未完成かつ不正確です。 正しい情報を必要とされる方は、原文を当たってくださいますようよろしくお願いします。 誤訳の指摘は大歓迎です。 2010年01月06日更新 (訳注: 和訳は2010年01月21日更新) この文書 (訳注: 原文) は Bjarne Stroustrup が記述、更新している。 建設的なコメント、訂正、参考資料、提案はもちろん大いに歓迎する。 現在、著者は参考資料の充実化と清書に取り組んでいる。 C++0x は次期 ISO C++ 標準である。 現時点の 草案 を、コメント募集のため公開している。 以前の (そして現在の) 標準は、しばしば C++98 や C++03 と呼ばれる; C

    nilab
    nilab 2011/11/30
    C++11 FAQ「"C++0x"という名前は、著者やその他の人々が、C++08 または C++09 になると思っていた時の名残である」C++11 - 最新 ISO C++ 標準
  • 手島優 胸元“強調”エプロン出演 NHK「反省している」 - スポニチ Sponichi Annex 芸能

    手島優 胸元“強調”エプロン出演 NHK「反省している」

    手島優 胸元“強調”エプロン出演 NHK「反省している」 - スポニチ Sponichi Annex 芸能
    nilab
    nilab 2011/11/30
    手島優 胸元“強調”エプロン出演 NHK「反省している」 ― スポニチ Sponichi Annex 芸能 「胸元の大きく開いた服にエプロン姿のグラビアアイドルが出演したとして」
  • TWorksの試行錯誤記録 : 第2回 名古屋情報セキュリティー勉強会でしゃべってきた

    nilab
    nilab 2011/11/30
    TWorksの試行錯誤記録 » Blog Archive » 第2回 名古屋情報セキュリティー勉強会でしゃべってきた :「iOSの審査なんてくそくらえさ!」
  • C++ でヘッダファイルだけでグローバル変数を定義する方法 - kazuhoのメモ置き場

    今日、会社で出た話。C言語だとグローバル変数を (宣言ではなく) 定義するには、必ずソースファイル内を書かなければいけなくて面倒だけど、C++ なら簡単。テンプレートクラスを使えば、ヘッダファイルだけでグローバル変数を定義できる。以下、参考。 なので、テンプレートクラスのstaticメンバは異なる翻訳単位で複数回定義されて いても、全く同じ定義ならば、一回しか定義されていないのと同義です。 cppll:8425 Re: クラステンプレートのstaticメンバ変数 具体的なコードとしては、以下のような感じ (picojson から一部変更して引用)。 template <typename AlwaysBool> struct last_error_t { static std::string s; }; template <typename AlwaysBool> std::string l

    C++ でヘッダファイルだけでグローバル変数を定義する方法 - kazuhoのメモ置き場
    nilab
    nilab 2011/11/30
    C++でヘッダファイルだけでグローバル変数を定義する方法 - kazuhoのメモ置き場:「テンプレートクラスのstaticメンバは異なる翻訳単位で複数回定義されていても、全く同じ定義ならば、一回しか定義されていないのと同義」
  • picojsonの使い方メモ – taichino.com

    JSONなデータをスクリプト言語から触るのは相当簡単ですが、C++とかでだとそれなりに大変です。なのでライブラリ使うのが良いかという話になります。最初はboostのPropertyTreeを使っていたのですが、DOMにしては中途半端だし、treewalkもできないし、コンパイル重いし、ソース読めないしでイライラは頂点に達していたのですが、picojsonが良いらしいと小耳に挟みまして試してみたら、大変使いやすかったのでメモ書きです。 実際に以下のJSONデータをpicojsonから触ってみます。 { "key1": [ "val1", "val2", "val3" ], "to_delete": "delete val" } 大まかな使い方は以下のような感じでしょうか。ツリーの内部ノードは、object型(map<string , picojson::value>)とarray型(vect

    nilab
    nilab 2011/11/30
    picojsonの使い方メモ « taichino.com
  • picojsonを使ってみた - Capsule

    C++でJSONパーサが欲しくなりpicojsonというライブラリを使って見ました。 特徴はヘッダをインクルードするだけで使える、STLを利用しているのでobjectとarrayの操作を覚えなくて良いところ。 Parsing #include <iostream> #include <cstring> using namespace std; #include "picojson.h" using namespace picojson; int main(){ const char *str = "{\"a\" : 1, \"b\" : \"test\"}"; value v; parse(v, str, str + strlen(str)); if(v.is<object>()){ value a = v.get("a"); if(a.is<double>()){ cout << "a

    nilab
    nilab 2011/11/30
    picojsonを使ってみた - Capsule「複数のcppファイルからヘッダをインクルードするとリンカにシンボル名が衝突してると」「operator==(const value& x, const value& y)にinlineを指定すると関数がインライン展開されるかWeakシンボルに」
  • でらうま倶楽部 : C++でJSONを読み書きするならpicojson

    2011年06月06日18:50 カテゴリプログラム C++でJSONを読み書きするならpicojson さいきんC++始めました。 まだ始めて2、3日なのですがCにクラスとか色々マクロで拡張を施した言語という印象です。 元々の出発点が「C with Classes」というCの拡張なのだからだと思います。 で、まず標準出入力やファイル出入力のやりかたとか触った後に試したのがJSONのパーサー。 ググって見たらpicojsonなるものを発見!これなんとヘッダファイルだけで実装されています。そういうの好き。 こんな感じで使います。 picojson::value json; cin >> json; picojson::object& o = json.get<picojson::object>(); int hoge = o["hoge"].get<double>(); bool fuga

    nilab
    nilab 2011/11/30
    でらうま倶楽部 : C でJSONを読み書きするならpicojson : 「VC2003だとビルド時にエラー」
  • picojsonの使い方が分かる方いませんか? - プログラミング初心者です。C++でJSONの作成、書き換えをしたいのですが、p... - Yahoo!知恵袋

    上記リンク先の例でパース部は以下の部分です。 -------------------------------- value v; std::string err; parse(v, json, json + strlne(json), &err); -------------------------------- 第2パラメータについてはイテレータによりパース後の位置に移動するので、破壊的にしたくない場合は一度他の変数に預けるのが良いかと思います。型はnull, boolean, number, string, array, object が使えます。これらを束ねてvalueという型が存在します。 パースするとvalueが得られ、テンプレートを使用してリフレクションできます。 -------------------------------- v.is<std::string>(); //

    picojsonの使い方が分かる方いませんか? - プログラミング初心者です。C++でJSONの作成、書き換えをしたいのですが、p... - Yahoo!知恵袋
    nilab
    nilab 2011/11/30
    picojsonの使い方が分かる方いませんか? - Yahoo!知恵袋