Search Results

Search found 6580 results on 264 pages for 'boost foreach'.

Page 23/264 | < Previous Page | 19 20 21 22 23 24 25 26 27 28 29 30  | Next Page >

  • How to implement generic callbacks in C++

    - by Kylotan
    Forgive my ignorance in asking this basic question but I've become so used to using Python where this sort of thing is trivial that I've completely forgotten how I would attempt this in C++. I want to be able to pass a callback to a function that performs a slow process in the background, and have it called later when the process is complete. This callback could be a free function, a static function, or a member function. I'd also like to be able to inject some arbitrary arguments in there for context. (ie. Implementing a very poor man's coroutine, in a way.) On top of that, this function will always take a std::string, which is the output of the process. I don't mind if the position of this argument in the final callback parameter list is fixed. I get the feeling that the answer will involve boost::bind and boost::function but I can't work out the precise invocations that would be necessary in order to create arbitrary callables (while currying them to just take a single string), store them in the background process, and invoke the callable correctly with the string parameter.

    Read the article

  • Foreach loop with 2d array of objects

    - by Jacob Millward
    I'm using a 2D array of objects to store data about tiles, or "blocks" in my gameworld. I initialise the array, fill it with data and then attempt to invoke the draw method of each object. foreach (Block block in blockList) { block.Draw(spriteBatch); } I end up with an exception being thrown "Object reference is not set to an instance of an object". What have I done wrong? EDIT: This is the code used to define the array Block[,] blockList; Then blockList = new Block[screenRectangle.Width, screenRectangle.Height]; // Fill with dummy data for (int x = 0; x <= screenRectangle.Width / texture.Width; x++) { for (int y = 0; y <= screenRectangle.Height / texture.Width; y++) { if (y >= screenRectangle.Height / (texture.Width*2)) { blockList[x, y] = new Block(1, new Rectangle(x * 16, y * 16, texture.Width, texture.Height), texture); } else { blockList[x, y] = new Block(0, new Rectangle(x * 16, y * 16, texture.Width, texture.Height), texture); } } }

    Read the article

  • Is there a more elegant way to act on the first and last items in a foreach enumeration than count++

    - by Edward Tanguay
    Is there a more elegant way to act on the first and last items when iterating through a foreach loop than incrementing a separate counter and checking it each time? For instance, the following code outputs: >>> [line1], [line2], [line3], [line4] <<< which requires knowing when you are acting on the first and last item. Is there a more elegant way to do this now in C# 3 / C# 4? It seems like I could use .Last() or .First() or something like that. using System; using System.Collections.Generic; using System.Text; namespace TestForNext29343 { class Program { static void Main(string[] args) { StringBuilder sb = new StringBuilder(); List<string> lines = new List<string> { "line1", "line2", "line3", "line4" }; int index = 0; foreach (var line in lines) { if (index == 0) sb.Append(">>> "); sb.Append("[" + line + "]"); if (index < lines.Count - 1) sb.Append(", "); else sb.Append(" <<<"); index++; } Console.WriteLine(sb.ToString()); Console.ReadLine(); } } }

    Read the article

  • Foreach is crashing script, but no errors reported.

    - by ILMV
    So I've created this smarty function to get images from my flickr photostream using SimplePie... simple really, or so it should be. The problem I'm having is the foreach will crash the script, this doesn't happen if I put an exit after the closing foreach, of course because of this the rest of my script doesn't execute. The problem also completely subsides if I remove the foreach, I've tested it and it's not the contents of the foreach, but the loop itself. Error reporting is turned on but I don't get any, I also tried messing with the memory_limit, with no luck. Anyone know why this foreach is killing my script? Thanks! function smarty_function_flickr ($params, &$smarty) { require_once('system/library/SimplePie/simplepie.inc'); require_once('system/library/SimplePie/idn/idna_convert.class.php'); $flickr=new flickr(); /** * Set up SimplePie with all default values using shorthand syntax. */ $feed = new SimplePie($params['feed'], 'system/library/SimplePie/cache', '600'); $feed->handle_content_type(); /** * What sizes should we use? * Choices: square, thumb, small, medium, large. */ $thumb = 'square'; $full = 'medium'; $output = array(); $counter=0; // If I comment this foreach out the problem subsides, I know it is not the code within the foreach foreach ($feed->get_items() as $item) { $url = $flickr->image_from_description($item->get_description()); $output[$counter]['title'] = $item->get_title(); $output[$counter]['image'] = $flickr->select_image($url, $full); $output[$counter]['thumb'] = $flickr->select_image($url, $thumb); $counter++; } // Set template variables and template $smarty->assign('flickr',$output); $smarty->display('forms/'.$params['template'].'.tpl'); }

    Read the article

  • Containers of reference_wrappers (comparison operators required?)

    - by kloffy
    If you use stl containers together with reference_wrappers of POD types, the following code works just fine: int i = 3; std::vector< boost::reference_wrapper<int> > is; is.push_back(boost::ref(i)); std::cout << (std::find(is.begin(),is.end(),i)!=is.end()) << std::endl; However, if you use non-POD types such as (contrived example): struct Integer { int value; bool operator==(const Integer& rhs) const { return value==rhs.value; } bool operator!=(const Integer& rhs) const { return !(*this == rhs); } }; It doesn't suffice to declare those comparison operators, instead you have to declare: bool operator==(const boost::reference_wrapper<Integer>& lhs, const Integer& rhs) { return boost::unwrap_ref(lhs)==rhs; } And possibly also: bool operator==(const Integer& lhs, const boost::reference_wrapper<Integer>& rhs) { return lhs==boost::unwrap_ref(rhs); } In order to get the equivalent code to work: Integer j = { 0 }; std::vector< boost::reference_wrapper<Integer> > js; js.push_back(boost::ref(j)); std::cout << (std::find(js.begin(),js.end(),j)!=js.end()) << std::endl; Now, I'm wondering if this is really the way it's meant to be done, since it seems impractical. It just seems there should be a simpler solution, e.g. templates: template<class T> bool operator==(const boost::reference_wrapper<T>& lhs, const T& rhs) { return boost::unwrap_ref(lhs)==rhs; } template<class T> bool operator==(const T& lhs, const boost::reference_wrapper<T>& rhs) { return lhs==boost::unwrap_ref(rhs); } There's probably a good reason why reference_wrapper behaves the way it does (possibly to accomodate non-POD types without comparison operators?). Maybe there already is an elegant solution and I just haven't found it.

    Read the article

  • Using time facets on universal_time

    - by scooterman
    Hi all, on boost, to create a time facet to format an specified time we use the folowing: boost::local_time::local_time_facet* facet = new boost::local_time::local_time_facet("%Y%m%d %H:%M:%S.%f"); std::stringstream date_stream; date_stream.imbue(std::locale(date_stream.getloc(), facet)); date_stream << boost::local_time::local_microsec_clock::local_time(boost::local_time::time_zone_ptr()); How do I do the same thing, but using an universal clock: boost::posix_time::microsec_clock::universal_time() Thanks

    Read the article

  • how a thread can signal when it's finished?

    - by Kyle
    #include <iostream> #include <boost/thread.hpp> using std::endl; using std::cout; using namespace boost; mutex running_mutex; struct dostuff { volatile bool running; dostuff() : running(true) {} void operator()(int x) { cout << "dostuff beginning " << x << endl; this_thread::sleep(posix_time::seconds(2)); cout << "dostuff is done doing stuff" << endl; mutex::scoped_lock running_lock(running_mutex); running = false; } }; bool is_running(dostuff& doer) { mutex::scoped_lock running_lock(running_mutex); return doer.running; } int main() { cout << "Begin.." << endl; dostuff doer; thread t(doer, 4); if (is_running(doer)) cout << "Cool, it's running.\n"; this_thread::sleep(posix_time::seconds(3)); if (!is_running(doer)) cout << "Cool, it's done now.\n"; else cout << "still running? why\n"; // This happens! :( return 0; } Why is the output of the above program: Begin.. Cool, it's running. dostuff beginning 4 dostuff is done doing stuff still running? why How can dostuff correctly flag when it is done? I do not want to sit around waiting for it, I just want to be notified when it's done.

    Read the article

  • Best boost to productivity : SSD or second screen ?

    - by jfoucher
    Within the same budget, which do you think would be the best boost to productivity for general web development : An SSD as boot drive, or a second screen ? I currently use a 16.4" laptop with full HD screen and 7200 RPM HDD Thanks EDIT: In light of the answers so far, I add that I work at home and while I have a home office with a proper desk, I'm just as often coding sitting on the sofa in the living room.

    Read the article

  • 5 Easy Ways to Get High PR Links to Boost Your Site in Google

    High PR links are some of the most valuable aspects in any link-building & SEO campaign. Not only do these links make Google respect your site more, but they can also boost your site's ranking overnight. Here are 5 places to get high quality links that will do a lot of good to your site's ranking in Google.

    Read the article

  • How SEO Services by a SEO Company Can Boost Your Sales

    If we look at the present scenario the importance of growing your business and expanding your online brand recognition using all the strategic SEO elements available can just not be overstated. Today to be the very best at marketing the business or even the websites has to reach to its potential customers and hiring SEO companies and SEO experts is proving best method to keep track of the latest developments in search engine optimization. In this article, know how taking help of SEO services from any SEO company can actually boost up your sales.

    Read the article

  • How SEO Services by a SEO Company Can Boost Your Sales

    If we look at the present scenario the importance of growing your business and expanding your online brand recognition using all the strategic SEO elements available can just not be overstated. Today to be the very best at marketing the business or even the websites has to reach to its potential customers and hiring SEO companies and SEO experts is proving best method to keep track of the latest developments in search engine optimization. In this article, know how taking help of SEO services from any SEO company can actually boost up your sales.

    Read the article

  • Advanced SEO Strategy Guaranteed to Boost Your SEO

    One of the main factors for optimising your website for page 1 on Google is to get incoming links from other web pages, and to boost the effectiveness of those links there are a few things to consider, including the relevance of the page where your link is coming from, plus the link itself needs to be relevant to the keywords that you are targeting on Google. Here's one strategy you can use for getting great incoming links to help you achieve higher Google rankings.

    Read the article

  • Boost Profits on Your Website

    By now you may have already built a website but are still not raking in profits from it. Your next step is to use some SEO strategies to boost its search rankings and convince site visitors to either buy something from you or avail of an offer.

    Read the article

  • Forum Sites - Boost Your Search Marketing

    Forum sites boost your search marketing. Why? Finding the right site for your business is essential to boosting your online marketing; find the right community, one that deals with your specific services. Don't waste your time in a site that has no relevance to what you're offering. Find out the hub sites for your services by using keywords related to you.

    Read the article

  • Can I Do a Foreach on a TimeSpan by Timespan Type?

    - by IPX Ares
    I have a requirement that regardless of the start and dates that I need to loop through that timespan and calculate figures at the month level. I cannot seem to figure it out, and maybe it is not possible, but I would like to do something like: FOREACH Month As TimeSpan in ContractRange.Months Do Calculations (Month.Start, Month.End) NEXT Is this possible or do I need to calculate the number of months, and just iterate through the amount of months and calculate the start/end of that month based on my index?

    Read the article

  • PHP output of foreach loop into a new array.

    - by RobHardgood
    I know I'm probably missing something easy, but I have a foreach loop and I'm trying to modify the values of the first array, and output a new array with the modifications as the new values. Basically I'm starting with an array: 0 = A:B 1 = B:C 2 = C:D And I'm using explode() to strip out the :'s and second letters, so I want to be left with an array: 0 = A 1 = B 2 = C The explode() part of my function works fine, but I only seem to get single string outputs. A, B, and C.

    Read the article

  • How does versioning work when using Boost Serialization for Derived Classes?

    - by Venkata Adusumilli
    When a Client serializes the following data: InternationalStudent student; student.id("Client ID"); student.firstName("Client First Name"); student.country("Client Country"); the Server receives the following: ID = "Client ID" Country = "Client First Name" instead of the following: ID = "Client ID" Country = "Client Country" The only difference between the Server and Client classes is the First Name of the Student. How can we make the Server ignore First Name recieved from the Client and process the Country? Server Side Classes class Student { public: Student(){} virtual ~Student(){} public: std::string id() { return idM; } void id(std::string id) { idM = id; } protected: friend class boost::serialization::access; protected: std::string idM; protected: template<class A> void serialize(A& archive, const unsigned int /*version*/) { archive & BOOST_SERIALIZATION_NVP(idM); } }; class InternationalStudent : public Student { public: InternationalStudent() {} ~InternationalStudent() {} public: std::string country() { return countryM; } void country(std::string country) { countryM = country; } protected: friend class boost::serialization::access; protected: std::string countryM; protected: template<class A> void serialize(A& archive, const unsigned int /*version*/) { archive & BOOST_SERIALIZATION_NVP(boost::serialization::base_object<Student>(*this)); archive & BOOST_SERIALIZATION_NVP(countryM); } }; Client Side Classes class Student { public: Student(){} virtual ~Student(){} public: std::string id() { return idM; } void id(std::string id) { idM = id; } std::string firstName() { return firstNameM; } void firstName(std::string name) { firstNameM = name; } protected: friend class boost::serialization::access; protected: std::string idM; std::string firstNameM; protected: template<class A> void serialize(A& archive, const unsigned int /*version*/) { archive & BOOST_SERIALIZATION_NVP(idM); if (version >=1) { archive & BOOST_SERIALIZATION_NVP(firstNameM); } } }; BOOST_CLASS_VERSION(Student, 1) class InternationalStudent : public Student { public: InternationalStudent() {} ~InternationalStudent() {} public: std::string country() { return countryM; } void country(std::string country) { countryM = country; } protected: friend class boost::serialization::access; protected: std::string countryM; protected: template<class A> void serialize(A& archive, const unsigned int /*version*/) { archive & BOOST_SERIALIZATION_NVP(boost::serialization::base_object<Student>(*this)); archive & BOOST_SERIALIZATION_NVP(countryM); } };

    Read the article

  • How can I implement a database TableView like thing in C++?

    - by Industrial-antidepressant
    How can I implement a TableView like thing in C++? I want to emulating a tiny relation database like thing in C++. I have data tables, and I want to transform it somehow, so I need a TableView like class. I want filtering, sorting, freely add and remove items and transforming (ex. view as UPPERCASE and so on). The whole thing is inside a GUI application, so datatables and views are attached to a GUI (or HTML or something). So how can I identify an item in the view? How can I signal it when the table is changed? Is there some design pattern for this? Here is a simple table, and a simple data item: #include <string> #include <boost/multi_index_container.hpp> #include <boost/multi_index/member.hpp> #include <boost/multi_index/ordered_index.hpp> #include <boost/multi_index/random_access_index.hpp> using boost::multi_index_container; using namespace boost::multi_index; struct Data { Data() {} int id; std::string name; }; struct row{}; struct id{}; struct name{}; typedef boost::multi_index_container< Data, indexed_by< random_access<tag<row> >, ordered_unique<tag<id>, member<Data, int, &Data::id> >, ordered_unique<tag<name>, member<Data, std::string, &Data::name> > > > TDataTable; class DataTable { public: typedef Data item_type; typedef TDataTable::value_type value_type; typedef TDataTable::const_reference const_reference; typedef TDataTable::index<row>::type TRowIndex; typedef TDataTable::index<id>::type TIdIndex; typedef TDataTable::index<name>::type TNameIndex; typedef TRowIndex::iterator iterator; DataTable() : row_index(rule_table.get<row>()), id_index(rule_table.get<id>()), name_index(rule_table.get<name>()), row_index_writeable(rule_table.get<row>()) { } TDataTable::const_reference operator[](TDataTable::size_type n) const { return rule_table[n]; } std::pair<iterator,bool> push_back(const value_type& x) { return row_index_writeable.push_back(x); } iterator erase(iterator position) { return row_index_writeable.erase(position); } bool replace(iterator position,const value_type& x) { return row_index_writeable.replace(position, x); } template<typename InputIterator> void rearrange(InputIterator first) { return row_index_writeable.rearrange(first); } void print_table() const; unsigned size() const { return row_index.size(); } TDataTable rule_table; const TRowIndex& row_index; const TIdIndex& id_index; const TNameIndex& name_index; private: TRowIndex& row_index_writeable; }; class DataTableView { DataTableView(const DataTable& source_table) {} // How can I implement this? // I want filtering, sorting, signaling upper GUI layer, and sorting, and ... }; int main() { Data data1; data1.id = 1; data1.name = "name1"; Data data2; data2.id = 2; data2.name = "name2"; DataTable table; table.push_back(data1); DataTable::iterator it1 = table.row_index.iterator_to(table[0]); table.erase(it1); table.push_back(data1); Data new_data(table[0]); new_data.name = "new_name"; table.replace(table.row_index.iterator_to(table[0]), new_data); for (unsigned i = 0; i < table.size(); ++i) std::cout << table[i].name << std::endl; #if 0 // using scenarios: DataTableView table_view(table); table_view.fill_from_source(); // synchronization with source table_view.remove(data_item1); // remove item from view table_view.add(data_item2); // add item from source table table_view.filter(filterfunc); // filtering table_view.sort(sortfunc); // sorting // modifying from source_able, hot to signal the table_view? // FYI: Table view is atteched to a GUI item table.erase(data); table.replace(data); #endif return 0; }

    Read the article

< Previous Page | 19 20 21 22 23 24 25 26 27 28 29 30  | Next Page >