Friday, July 25, 2014
Thursday, November 14, 2013
Nuget packages for Boost 1.55
https://getboost.codeplex.com/releases/view/114813. Source files and pre-compiled libraries for Visual Studio 2012 (vc110) and 2013 (vc120).
Tuesday, October 29, 2013
Tuesday, August 20, 2013
Boost at nuget.org
It's unofficial but it works https://www.nuget.org/packages/boost/. For Visual Studio 2012, supported platforms: Win32 and x64.
It's huge 235Mb and takes about half an hour to install.
- Open your C++ project. Or create a new one.
- Open Tools | Library Package Manager | Manage NuGet Packages for Solution....
- Search for "boost" in Online | NuGet Official Package Source (Include Prerelease).
- Press the Install button.
- Wait for about 10 minutes.
- Select your C++ project and press Ok.
- Wait for another 10 minutes.
- Close the dialogs.
- Include some boost header files. For example: #include <boost/atomic.hpp>
- Build the project.
Update
The updated boost package doesn't contain compiled libraries (.lib/.dll) any more. Now it's only 15Mb. I've created separate packages for the boost compiled libraries:
- boost_atomic;
- boost_chrono;
- boost_context;
- boost_coroutine;
- boost_date_time;
- boost_exception;
- boost_filesystem;
- boost_graph;
- boost_iostream;
- boost_locale;
- Boost.Log: boost_log, boost_log_setup;
- Boost.Math: boost_math_c99, boost_math_c99f, boost_math_c99l, boost_math_tr1, boost_math_tr1f, boost_math_tr1l;
- boost_program_options;
- boost_random;
- boost_regex;
- Boost.Serialization: boost_serialization, boost_wserialization;
- boost_signals;
- boost_system;
- Boost.Test: boost_prg_exec_monitor, boost_unit_test_framework, test_exec_monitor;
- boost_thread;
- boost_timer;
- boost_wave.
Sunday, February 13, 2011
Nemerle at Wikipedia.
The article about Nemerle has been removed from Wikipedia as a non-notable programming language.
Tuesday, February 1, 2011
INumeric policy.
Policies:
interface INumericPolicy<T> { T Zero(); T Add(T a, T b); ... } class All: INumericPolicy<int>, INumericPolicy<long>, ... { ... public static All P = new All(); }User's algorithms:
static class Algorithms { public static T Sum<P, T>(this P p, params T[] a) where P: INumericPolicy<T> { var r = p.Zero(); foreach(var i in a) { r = p.Add(r, i); } return r; } ... }Usage:
int i = All.P.Sum(1, 2, 3, 4, 5); long l = All.P.Sum(1L, 2, 3, 4, 5);
Monday, January 31, 2011
.NET/C# 5 wish list
- Merge WPF and Silverlight. .NET Framework and .NET Compact Framework. It would be better to have just different profiles of framework like (.NET client profile) instead of different frameworks.
- Non-nullable references
string! x = "xxx";
- Discriminated unions:
union MyUnion: Enum { case Enum.Red: RedClass; case Enum.Green: GreenClass; ... }
- INumeric interface for standard numeric types.
struct UInt32: INumeric<UInt32> { ... } - Fixed size arrays
byte[10] x; - Operator extensions (syntax sugar):
public static class Extensions { public static T operator+ <T>(T a, T b) where T: INumeric<T> ... }
- Polymorphic up cast:
class A: B { ... } ... new A() up B
Update: No needs any more. Solution:
public static class Extension { public static T UpCast<T>(T derived) { return derived; } }
Example:
new B().UpCast<A>() - Force use 'using' keyword for some classes.
using class My: IDisposable { .... } ... // Ok. using(var my = new My()) { } // Compilation error. { var my = new My(); } // Ok. return new My();
- Units of measurements. As in F# http://msdn.microsoft.com/en-us/library/dd233243.aspx.
- Named code blocks.
code Block { foreach(var x in M) { foreach(var y in x) { if(y) break Block; } } } - A reference to an anonymous delegate inside the delegate.
Control.Selected += (s, e) => { ... Control.Selected -= this function; }
Subscribe to:
Posts (Atom)