当前位置: 首页>>代码示例>>C++>>正文


C++ type类代码示例

本文整理汇总了C++中type的典型用法代码示例。如果您正苦于以下问题:C++ type类的具体用法?C++ type怎么用?C++ type使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了type类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1:

bool ndt::categorical_kind_type::match(
    const char *DYND_UNUSED(arrmeta), const type &candidate_tp,
    const char *DYND_UNUSED(candidate_arrmeta),
    std::map<std::string, type> &DYND_UNUSED(tp_vars)) const
{
  return candidate_tp.get_type_id() == categorical_type_id;
}
开发者ID:jonathandedwards,项目名称:libdynd,代码行数:7,代码来源:categorical_kind_type.cpp

示例2: clear_vector

void sequence::clear_vector (type &vectorobject)
{
	for(size_t i = 0; i < vectorobject.size(); i++)
	{
		delete vectorobject[i];
	}
}
开发者ID:rajeshpillai,项目名称:HexEdit,代码行数:7,代码来源:sequence.cpp

示例3: if

bool ndt::time_type::is_lossless_assignment(const type &dst_tp,
                                            const type &src_tp) const
{
  if (dst_tp.extended() == this) {
    if (src_tp.extended() == this) {
      return true;
    } else if (src_tp.get_type_id() == time_type_id) {
      // There is only one possibility for the time type (TODO: timezones!)
      return true;
    } else {
      return false;
    }
  } else {
    return false;
  }
}
开发者ID:Laeeth,项目名称:libdynd,代码行数:16,代码来源:time_type.cpp

示例4: gmpNumToString

		std::string FractalTexture::gmpNumToString(type num, int base) {
			std::string s;
#ifdef ROE_FRACTAL_USE_GMP
			long exp;
#ifdef ROE_FRACTAL_GMP_USE_C
			s = mpf_get_str(nullptr, &exp, base, 0, num);
#else
			s = num.get_str(exp, base, 0);
#endif
			std::string sign = "";
			if(s.length() == 0) {s="00"; ++exp;}
			if(s[0] == '-') {sign = "-"; s = s.substr(1);}
			while (exp <= 0) {
				s = "0"+s;
				++exp;
			}
			while (exp >= (long)s.length()) {
				s += "0";
			}
			s.insert(exp, ".");//*/
			s = sign + s;
#else
			s = util::toString((double)num);
#endif
			return s;
		}
开发者ID:swantescholz,项目名称:coding,代码行数:26,代码来源:RoeFractalTexture.cpp

示例5: fill

 static void fill(type& v, std::size_t num_of_elems, T const& val) {
     for (std::size_t elem = 0; elem < num_of_elems; ++elem) {
         typename vecvec<T, level - 1>::type child;
         vecvec<T, level - 1>::fill(child, num_of_elems, val);
         v.push_back(child);
     }
 }
开发者ID:SEL4PROJ,项目名称:projects_libs,代码行数:7,代码来源:speed_test_nested_array.cpp

示例6: make_tuple_comparison_kernel

size_t ndt::tuple_type::make_comparison_kernel(
    void *ckb, intptr_t ckb_offset, const type &src0_tp,
    const char *src0_arrmeta, const type &src1_tp, const char *src1_arrmeta,
    comparison_type_t comptype, const eval::eval_context *ectx) const
{
  if (this == src0_tp.extended()) {
    if (*this == *src1_tp.extended()) {
      return make_tuple_comparison_kernel(
          ckb, ckb_offset, src0_tp, src0_arrmeta, src1_arrmeta, comptype, ectx);
    } else if (src1_tp.get_kind() == tuple_kind) {
      // TODO
    }
  }

  throw not_comparable_error(src0_tp, src1_tp, comptype);
}
开发者ID:cpcloud,项目名称:libdynd,代码行数:16,代码来源:tuple_type.cpp

示例7: extract_dependencies

dependencies extract_dependencies(const types_by_name &known_types, const type &for_type)
{
	assert(!for_type.is_empty());

	auto interfaces = extract_interfaces(for_type);
	auto setters = extract_setters(known_types, for_type);
	for (auto &&setter : setters)
	{
		auto parameter_type = setter.parameter_type();
		if (parameter_type == for_type)
			throw exception::dependency_on_self{};
		if (std::find(std::begin(interfaces), std::end(interfaces), parameter_type) != std::end(interfaces))
			throw exception::dependency_on_supertype{};
		auto parameter_interfaces = extract_interfaces(parameter_type);
		if (std::find(std::begin(parameter_interfaces), std::end(parameter_interfaces), for_type) != std::end(parameter_interfaces))
			throw exception::dependency_on_subtype{};
	}

	auto result = std::vector<dependency>{};
	std::transform(std::begin(setters), std::end(setters), std::back_inserter(result),
		[](const setter_method &setter){ return dependency{setter}; }
	);

	return dependencies{result};
}
开发者ID:ovz,项目名称:injeqt,代码行数:25,代码来源:dependencies.cpp

示例8: switch

bool ndt::fixed_dim_type::match(const char *arrmeta, const type &candidate_tp,
                                const char *candidate_arrmeta,
                                std::map<std::string, type> &tp_vars) const
{
  switch (candidate_tp.get_type_id()) {
  case fixed_dim_type_id:
    // TODO XXX If the arrmeta is not NULL, the strides should be checked too
    return get_fixed_dim_size() ==
               candidate_tp.extended<fixed_dim_type>()->get_fixed_dim_size() &&
           m_element_tp.match(
               (arrmeta == NULL) ? arrmeta
                                 : (arrmeta + sizeof(fixed_dim_type_arrmeta)),
               candidate_tp.extended<fixed_dim_type>()->m_element_tp,
               (candidate_arrmeta == NULL)
                   ? candidate_arrmeta
                   : (candidate_arrmeta + sizeof(fixed_dim_type_arrmeta)),
               tp_vars);
  case c_contiguous_type_id:
    return is_c_contiguous(arrmeta) &&
           match(arrmeta,
                 candidate_tp.extended<c_contiguous_type>()->get_child_type(),
                 candidate_arrmeta, tp_vars);
  default:
    return false;
  }
}
开发者ID:cpcloud,项目名称:libdynd,代码行数:26,代码来源:fixed_dim_type.cpp

示例9: assert

bool
eq_algo::operator()(const type& a, const type& b) const
{
  assert(a.get_kind() == b.get_kind());
  switch (a.get_kind()) {
    case void_type_kind:
      return eq_void_type(cast<void_type>(a), cast<void_type>(b));
    case ref_type_kind:
      return eq_ref_type(cast<ref_type>(a), cast<ref_type>(b));
    case fn_type_kind:
      return eq_fn_type(cast<fn_type>(a), cast<fn_type>(b));
    default:
      break;
  }
  assert(false && "not a common type");
}
开发者ID:asutton,项目名称:beaker,代码行数:16,代码来源:eq.cpp

示例10: const_cast_

 expression const_cast_(
   const std::shared_ptr< llvm::LLVMContext > &context,
   const std::shared_ptr< ir_builder_t > &ir_builder,
   const type cast_to,
   const expression &value
 ) {
   if(
     type_traits::is_reference( value.type() ) ||
     type_traits::is_pointer( value.type() )
   ) {
     if(
       value.type().which() == cast_to.which()
     ) return remove_const_cast( context, ir_builder, cast_to, value );
     else if(
       type_traits::is_reference( value.type() ) &&
       type_traits::is_pointer( cast_to )
     ) {
       const auto dereferenced = remove_reference( context, ir_builder, value );
       return const_cast_( context, ir_builder, cast_to, dereferenced );
     }
     else if(
       type_traits::is_rvalue_reference( value.type() ) &&
       type_traits::is_lvalue_reference( cast_to )
     ) return reference_cast( context, ir_builder, cast_to, value );
   }
   throw exceptions::invalid_cast();
 }
开发者ID:Fadis,项目名称:dlambda,代码行数:27,代码来源:const_cast.cpp

示例11:

bool ndt::callable_type::match(const char *arrmeta, const type &candidate_tp,
                               const char *candidate_arrmeta,
                               std::map<nd::string, type> &tp_vars) const
{
  if (candidate_tp.get_type_id() != callable_type_id) {
    return false;
  }

  // First match the return type
  if (!m_return_type.match(
          arrmeta, candidate_tp.extended<callable_type>()->m_return_type,
          candidate_arrmeta, tp_vars)) {
    return false;
  }

  // Next match all the positional parameters
  if (!m_pos_tuple.match(arrmeta,
                         candidate_tp.extended<callable_type>()->m_pos_tuple,
                         candidate_arrmeta, tp_vars)) {
    return false;
  }

  // Finally match all the keyword parameters
  if (!m_kwd_struct.match(
          arrmeta, candidate_tp.extended<callable_type>()->get_kwd_struct(),
          candidate_arrmeta, tp_vars)) {
    return false;
  }

  return true;
}
开发者ID:Laeeth,项目名称:libdynd,代码行数:31,代码来源:callable_type.cpp

示例12:

bool ndt::fixed_string_kind_type::match(
    const char *DYND_UNUSED(arrmeta), const type &candidate_tp,
    const char *DYND_UNUSED(candidate_arrmeta),
    std::map<nd::string, type> &DYND_UNUSED(tp_vars)) const
{
  return candidate_tp.get_type_id() == fixed_string_type_id;
}
开发者ID:Laeeth,项目名称:libdynd,代码行数:7,代码来源:fixed_string_kind_type.cpp

示例13: if

bool ndt::fixed_bytes_type::is_lossless_assignment(const type &dst_tp,
                                                   const type &src_tp) const
{
  if (dst_tp.extended() == this) {
    if (src_tp.extended() == this) {
      return true;
    } else if (src_tp.get_type_id() == fixed_bytes_type_id) {
      const fixed_bytes_type *src_fs =
          static_cast<const fixed_bytes_type *>(src_tp.extended());
      return get_data_size() == src_fs->get_data_size();
    } else {
      return false;
    }
  } else {
    return false;
  }
}
开发者ID:cpcloud,项目名称:libdynd,代码行数:17,代码来源:fixed_bytes_type.cpp

示例14:

bool ndt::kind_sym_type::match(
    const char *DYND_UNUSED(arrmeta), const type &candidate_tp,
    const char *DYND_UNUSED(candidate_arrmeta),
    std::map<nd::string, type> &DYND_UNUSED(tp_vars)) const
{
  // Matches against the 'kind' of the candidate type
  return candidate_tp.get_kind() == m_kind;
}
开发者ID:gmarkall,项目名称:libdynd,代码行数:8,代码来源:kind_sym_type.cpp

示例15:

bool ndt::scalar_kind_type::match(
    const char *DYND_UNUSED(arrmeta), const type &candidate_tp,
    const char *DYND_UNUSED(candidate_arrmeta),
    std::map<std::string, type> &DYND_UNUSED(tp_vars)) const
{
  // Match against any scalar
  return candidate_tp.is_scalar();
}
开发者ID:cpcloud,项目名称:libdynd,代码行数:8,代码来源:scalar_kind_type.cpp


注:本文中的type类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。