小编use*_*952的帖子

std :: string to boost :: thread_specific_ptr

为什么这不能编译g ++ 4.6和g ++ 4.7?我试图获得字符串到线程特定存储的映射.我相信,有一些像这样的东西在提升1.48.实际上,它与boost的版本无关,但是标志-std = c ++ 0x.如果不存在则编译.因此,寻找错误的解释以及如何解决它.

谢谢

#include <map>
#include <boost/thread/tss.hpp>
#include <boost/shared_ptr.hpp>

int main(int argc, char** argv) {
  typedef boost::thread_specific_ptr< int > Tss_int_ptr;
  typedef std::map< std::string, Tss_int_ptr > Tss_int_map_t;
  Tss_int_map_t tmap;
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

错误消息如下.

g++-4.7 -g -std=c++0x -I"/home/someone/open_source/admin/install/boost_1_52_0/include" -c  ~/tmp/fail.cpp
In file included from /usr/include/c++/4.7/bits/stl_algobase.h:65:0,
             from /usr/include/c++/4.7/bits/stl_tree.h:63,
             from /usr/include/c++/4.7/map:60,
             from /home/someone/tmp/fail.cpp:1:
/usr/include/c++/4.7/bits/stl_pair.h: In instantiation of ‘struct std::pair<const std::basic_string<char>, boost::thread_specific_ptr<int> >’:
/usr/include/c++/4.7/bits/stl_tree.h:133:12:   required from ‘struct std::_Rb_tree_node<std::pair<const std::basic_string<char>, boost::thread_specific_ptr<int> > >’
/usr/include/c++/4.7/bits/stl_tree.h:1082:4:   required from ‘void std::_Rb_tree<_Key, _Val, …
Run Code Online (Sandbox Code Playgroud)

c++ boost g++ c++11 std-pair

3
推荐指数
1
解决办法
1291
查看次数

如果存在,则调用方法

是否有一个简单,轻量级/廉价的调用来确定对象是否支持命名方法?所以,在这个obj.respondsTo会很棒.

dynamic _toJson(dynamic obj) {
  return obj.respondsTo('toJson'))? obj.toJson() : obj;
}

class Foo {
  String foo = "Foo.foo";
  Bar bar = new Bar();
  Map toJson() {
    return {
      "foo" : _toJson(foo),
      "bar" : _toJson(bar)
    };
  }
}
Run Code Online (Sandbox Code Playgroud)

一种替代方法是调用它并捕获noSuchMethod异常,但我认为这是不好的做法而且价格昂贵?

dart dart-mirrors

3
推荐指数
1
解决办法
1352
查看次数

如何更改飞镖的核心图标按钮和纸图标按钮的大小?

是否有一个简单的CSS样式条目,比如说,核心图标按钮的大小减半?

我用这些替换字体真棒图标,目前图标大小比文本大得多,所以我正在寻找一种方法来缩小它.

  <div horizontal layout>
    <core-icon-button icon="add-circle"></core-icon-button>
    <div horizontal layout center>Expand Entries</div>
  </div>
Run Code Online (Sandbox Code Playgroud)

理想情况下,我想缩小图标按钮内的图标并减少填充.

dart-polymer core-elements

3
推荐指数
1
解决办法
2908
查看次数

在Dart中向套接字数据写入字节/从套接字数据读取字节数

在下面的服务器/客户端套接字代码中,服务器尝试将int从0发送到1023。客户端接收到正确数量的int,但它们以255换行。这是为什么,正确的方法是什么?

*服务器*

import 'dart:async';
import 'dart:io';

main() async {
  final server = await ServerSocket.bind('127.0.0.1', 4041);
  server.listen((Socket socket) {
    print('Got connected ${socket.remoteAddress}');
    for(int i=0; i<1024; i++) {
      socket.add([i]);
    }
    socket.close();
    print('Closed ${socket.remoteAddress}');
  });
}
Run Code Online (Sandbox Code Playgroud)

*客户*

import 'dart:async';
import 'dart:io';

main() async {
  final client = await Socket.connect('127.0.0.1', 4041);
  client.listen(
      (var data) => print('Got $data'),
      onDone: () { print('Done'); client.close(); },
      onError: (e) { print('Got error $e'); client.close(); });
  print('main done');
}
Run Code Online (Sandbox Code Playgroud)

而且,感觉Socket API有点不同-与其他语言相比,它比Dartish更支持它作为流读取的方式。但是,如果您只想读取N个字节怎么办?您如何实现的?我看到了take方法(Stream take(int count)),但是我不清楚到底是什么 …

sockets dart

3
推荐指数
1
解决办法
1826
查看次数

在json模式中支持std :: map <std :: string,T>

是否有标准方法将属性指定为字符串或由字符串键控的映射,并在模式中的其他位置指定值类型T?

例如,假设您要为用户最喜欢的电影建模,其中键类型是电影的名称,值类型是关于电影的一些属性集(年份,预算,总收入等)

我想你可以首先将MovieDataPair建模为具有name属性的类型和包含所需属性的value属性.然后地图就是那些数组.但是,那么你需要一个特殊的唯一约束来确保任何电影名称只出现一次.

是否有json架构中的某些东西支持这个,或者用于它的标准模式?如果没有在json架构中内置支持,那么其他架构解决方案呢?

json jsonschema

2
推荐指数
1
解决办法
2895
查看次数

shadowdom是否会改变ID的规则

问题级联样式表的答案使用"id"或"class"表示id

如果"它是......"(例如导航),请在元素上放置ID

还有一个评论:

因为这个ID只能使用一次(在页面中),但元素可以被分类多次.元素也只能有一个标识符,但只能有多个分类.但是,可以识别和分类元素.

使用阴影dom,关于id的部分是否可以使用一次(在页面中)仍然可以使用?例如,获取组件中元素的一种简单方法是为每个id赋予组件唯一的查询权限:

在html中:

<input id="amount" placeholder="Amount" on-change="{{recalc}}"></input>
<input id="term-years" placeholder="Term (yrs) e.g. 30" on-change="{{recalc}}"></input>
<input id="rate" placeholder="Interest Rate" on-change="{{recalc}}"></input>
Run Code Online (Sandbox Code Playgroud)

在Dart代码中:

termYearsElm = shadowRoot.querySelector('#term-years');
amountElm = shadowRoot.querySelector('#amount');
rateElm = shadowRoot.querySelector('#rate');
Run Code Online (Sandbox Code Playgroud)

在玩这个时,组件的多个实例不会发生冲突.这种方法安全还是坏主意?如果它是安全的,那么ids的规则是否已经改变?

dart dart-polymer

2
推荐指数
1
解决办法
180
查看次数

如何在 openWrite 之后完成/刷新写入/关闭

此代码尝试打开一个现有文件,然后通过 openWrite 添加文本。

import 'dart:io';

main() {
  File inFile = new File('/tmp/foo.txt');
  String currentText = inFile.readAsStringSync();
  var writer = inFile.openWrite();
  writer.write(currentText);
  writer.write("\nOne more line");
  writer.close();
  exit(0);
}
Run Code Online (Sandbox Code Playgroud)

完成后文件为空。如果 exit(0) 不存在,则可以正常工作。应执行哪些调用以确保在退出之前写入所有写入内容?

dart

1
推荐指数
1
解决办法
2829
查看次数

如何简单地将url主体同步获取为字符串

你会如何简单地实现这个功能:

String fetchUrlBodyAsString(String url) {
  ...
}
Run Code Online (Sandbox Code Playgroud)

用法:

String schema = fetchUrlBodyAsString("http://json-schema.org/draft-04/schema#");
Run Code Online (Sandbox Code Playgroud)

此线程使用dart下载文件解释了从主函数获取数据的好方法.但是,如果你尝试它,你会看到真正的工作发生在离开主要之后.我认为我想要创建的同步函数很难使用HttpClient,因为它试图让异步api同步工作.根据这个可能无法实现的主题:https://groups.google.com/a/dartlang.org/d/msg/misc/kAgayQyaPhQ/wonJ776_FGIJ

在非浏览器/控制台设置中实现此操作的Dart方法是什么?

dart

1
推荐指数
1
解决办法
1794
查看次数