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


C++ forward_list::begin方法代码示例

本文整理汇总了C++中std::forward_list::begin方法的典型用法代码示例。如果您正苦于以下问题:C++ forward_list::begin方法的具体用法?C++ forward_list::begin怎么用?C++ forward_list::begin使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在std::forward_list的用法示例。


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

示例1: midList

int midList(std::forward_list<int> l){

	int mid = std::distance(l.begin(), l.end()); //Size of Linked List
	
	
	if( mid % 2 == 0) //Even digits two mid
	{
		int k = 0;
		for(auto i = l.begin(); i != l.end(); ++i){

			if(++k == mid/2)
				return *i; 
		}

	}else{ //Odd Digits mid + 1

	int k = 0;
	for(auto i = l.begin(); i != l.end(); ++i){

		if(++k == mid/2 + 1)
				return *i; 

	}
        }
	return -1;
}
开发者ID:rand0wn,项目名称:ask-dsa,代码行数:26,代码来源:midList.cpp

示例2: u

typename boost::disable_if<
    typename detail::is_default_constructible<
        typename std::forward_list<T, Allocator>::value_type
    >,
    void
>::type
collection_load_impl(
    Archive & ar,
    std::forward_list<T, Allocator> &t,
    collection_size_type count,
    item_version_type item_version
){
    t.clear();
    boost::serialization::detail::stack_construct<Archive, T> u(ar, item_version);
    ar >> boost::serialization::make_nvp("item", u.reference());
    t.push_front(u.reference());
    typename std::forward_list<T, Allocator>::iterator last;
    last = t.begin();
    ar.reset_object_address(&(*t.begin()) , & u.reference());
    while(--count > 0){
        detail::stack_construct<Archive, T> u(ar, item_version);
        ar >> boost::serialization::make_nvp("item", u.reference());
        last = t.insert_after(last, u.reference());
        ar.reset_object_address(&(*last) , & u.reference());
    }
}
开发者ID:LancelotGHX,项目名称:Simula,代码行数:26,代码来源:forward_list.hpp

示例3:

void
TraialPool::return_traials(std::forward_list< Reference< Traial > >& list)
{
	for (auto it = list.begin() ; it != list.end() ; it = list.begin()) {
		available_traials_.push_front(*it);
		list.pop_front();  // 'it' got invalidated
	}
}
开发者ID:raulmonti,项目名称:FIG,代码行数:8,代码来源:TraialPool.cpp

示例4: zip

std::forward_list<std::tuple<A,B>> zip (const std::forward_list<A>& L, const std::forward_list<B>& M) 
{
  std::forward_list<std::tuple<A,B>> H;
  auto zipper = [] (const A& a, const B& b) {return std::make_tuple(a,b);};
  std::transform(L.begin(), L.end(), M.begin(), std::front_inserter(H), zipper);
  H.reverse();
  return H;
}
开发者ID:fons,项目名称:presentations,代码行数:8,代码来源:trans.cpp

示例5: iReturn

int iReturn(std::forward_list<int> l, int n){

	int k = 0;

	for(auto i = l.begin(); i != l.end(); ++i){
		if(++k == std::distance(l.begin(), l.end()) - n + 1)
			return *i;
	}
}
开发者ID:rand0wn,项目名称:ask-dsa,代码行数:9,代码来源:Nnode.cpp

示例6: detectLoop

int detectLoop(std::forward_list<int> l){

	auto p1 = l.begin(), p2 = l.begin();	 //Initialise two pointers to head

	while(p1 != l.end() && p2 != l.end() && std::next(p2, 1) != l.end()){ //Move p1 by 1 and p2 by 2 positions
		
		if(*(++p1) == *(++(++p2))){ //Element p1 and p2 are equal -> loop
			return 1;
		}
	}
	return 0;
} 
开发者ID:rand0wn,项目名称:ask-dsa,代码行数:12,代码来源:loopDetect.cpp

示例7: pReturn

//Using two pointers
int pReturn(std::forward_list<int> l, int n){

	auto i1 = l.begin(), i2 = l.begin();

	std::advance(i1, n); //Move iterator to n places
	
	while(i1 != l.end()){
		++i1;
		++i2;
	}

	return *i2; 
}
开发者ID:rand0wn,项目名称:ask-dsa,代码行数:14,代码来源:Nnode.cpp

示例8: SendMediaList

void AudioStreamingServer::SendMediaList(const std::shared_ptr<ISocket>& clientSocket, const std::string& keyword, const std::string& hostName) const {
    
    const std::forward_list<const std::string*> files = audioLibrary->Search(keyword);
    std::vector<std::string> urls;
    urls.reserve(std::distance(files.begin(), files.end()));
    
    int responseSize = 0;
    for(const std::string* file : files) {
        std::string encodedFile = urlCodec->EncodeURL(*file);
        std::string url;
        url.reserve(hostName.length() + encodedFile.length() + 9); //account 2 for '/', '\n' and 7 for 'http://'
        url += "http://";
        url += hostName;
        url += '/';
        url += encodedFile;
        url += '\n';
        responseSize += url.length();
        urls.push_back(std::move(url));
    }

    HttpResponse response(HTTP_1_1, OK, M3U, responseSize, keyword + ".m3u");
    SendResponseHeader(clientSocket, response);
    for(const std::string& url : urls) {
        clientSocket->Send(url.c_str(), url.size());
    }
}
开发者ID:commshare,项目名称:saudio,代码行数:26,代码来源:AudioStreamingServer.cpp

示例9: map

std::forward_list<B> map (std::function<B(A)> f, const std::forward_list<A>& L) 
{
  std::forward_list<B> H;
  std::transform(L.begin(), L.end(), std::front_inserter(H), f);
  H.reverse();
  return H;
}
开发者ID:fons,项目名称:presentations,代码行数:7,代码来源:trans.cpp

示例10:

static int
fbsd_is_vfork_done_pending (pid_t pid)
{
  for (auto it = fbsd_pending_vfork_done.begin ();
       it != fbsd_pending_vfork_done.end (); it++)
    if (it->pid () == pid)
      return 1;
  return 0;
}
开发者ID:jon-turney,项目名称:binutils-gdb,代码行数:9,代码来源:fbsd-nat.c

示例11:

 StackTrieNode *createTrieNode(uint32_t ThreadId, int32_t FuncId,
                               StackTrieNode *Parent) {
   NodeStore.push_front(StackTrieNode{FuncId, Parent, {}, {{}, {}}});
   auto I = NodeStore.begin();
   auto *Node = &*I;
   if (!Parent)
     Roots[ThreadId].push_back(Node);
   return Node;
 }
开发者ID:bkaradzic,项目名称:SwiftShader,代码行数:9,代码来源:xray-stacks.cpp

示例12: startAutoWalk

void Creature::startAutoWalk(const std::forward_list<Direction>& listDir)
{
	listWalkDir = listDir;

	size_t size = 0;
	for (auto it = listDir.begin(); it != listDir.end() && size <= 1; ++it) {
		size++;
	}
	addEventWalk(size == 1);
}
开发者ID:A-Syntax,项目名称:forgottenserver,代码行数:10,代码来源:creature.cpp

示例13:

TEST(std_forward_list, clear) {
  std::forward_list<int> l1{0, 0, 0, 0};
  const std::forward_list<int> l2{1, 2, 3};

  l1.clear();
  ASSERT_TRUE(l1.begin() == l1.end());

  l1.insert_after(l1.before_begin(), l2.begin(), l2.end());
  ASSERT_TRUE(l1 == l2);
}
开发者ID:ChrisCummins,项目名称:phd,代码行数:10,代码来源:forward_list.cpp

示例14: f_forward_list

void f_forward_list() {
  std::forward_list<int> C;
  std::forward_list<int>::iterator FListI1 = C.begin();
  // CHECK-MESSAGES: :[[@LINE-1]]:3: warning: use auto when declaring iterators
  // CHECK-FIXES: auto FListI1 = C.begin();

  const std::forward_list<int> D;
  std::forward_list<int>::const_iterator FListI2 = D.begin();
  // CHECK-MESSAGES: :[[@LINE-1]]:3: warning: use auto when declaring iterators
  // CHECK-FIXES: auto FListI2 = D.begin();
}
开发者ID:GameFusion,项目名称:clang-tools-extra,代码行数:11,代码来源:modernize-use-auto-iterator.cpp

示例15: iReverse

//Iterative
void iReverse(std::forward_list<int> &l){

	std::forward_list<int> s = l, r;
	
	for(auto i = l.begin(); i != l.end(); ++i) //Iterate, pop  and push into r
	{
		r.push_front(s.front());
		s.pop_front();	
	}
	l = r; //Assign s to l
}
开发者ID:rand0wn,项目名称:ask-dsa,代码行数:12,代码来源:reverseLL.cpp


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