'Code Snippets/Boost'에 해당되는 글 7건

  1. 2012.02.23 Nested bind for member function of member (-_-;) 4
  2. 2010.09.17 함수 호출 연기 & 함수 타입 캐스팅
  3. 2010.09.09 Nested Bind
  4. 2010.09.06 Generalized Function Pointers
  5. 2010.09.03 boost::bind 활용
  6. 2010.08.20 boost 관련 유용한 링크 모음
  7. 2010.08.20 Boost Thread
Code Snippets/Boost2012. 2. 23. 11:50

C++0X를 사용 못할 상황이 생겼다.
lambda 사용을 제거해야 하는데 매번 functor class를 만들어 주는 것도 만만치 않다.
bind를 잘 사용하면 될 것 같아서 해 봤는데,
lambda 사용 버전과 미사용 버전은 그 편의성과 직관성에서 비교가 되지 않는 것 같다.
그래도, 간단한 lambda에 대해서는 fuctor class를 만드는 것보다는 나을 것 같아서 정리해 본다.

'Code Snippets > Boost' 카테고리의 다른 글

함수 호출 연기 & 함수 타입 캐스팅  (0) 2010.09.17
Nested Bind  (0) 2010.09.09
Generalized Function Pointers  (0) 2010.09.06
boost::bind 활용  (0) 2010.09.03
boost 관련 유용한 링크 모음  (0) 2010.08.20
Posted by codevania
Code Snippets/Boost2010. 9. 17. 16:26
함수 호출을 늦추기 위해서는 함수자를 사용하면 된다.
대부분의 함수에서는 문제가 되지 않지만, 템플릿 함수 또는 오버로드된 함수일 경우 조금 난해한 상황이 있다.
특히 함수 타입 캐스팅의 경우는 인자 추론의 모호성 때문에 boost를 사용하기 힘든 경우가 있다.
또, 함수자 대신 shared_ptr을 사용하는 방법도 있다.



'Code Snippets > Boost' 카테고리의 다른 글

Nested bind for member function of member (-_-;)  (4) 2012.02.23
Nested Bind  (0) 2010.09.09
Generalized Function Pointers  (0) 2010.09.06
boost::bind 활용  (0) 2010.09.03
boost 관련 유용한 링크 모음  (0) 2010.08.20
Posted by codevania
Code Snippets/Boost2010. 9. 9. 16:20

boost::bind를 사용하면 많은 양의 중복 코드를 제거할 수 있다.
하지만 과유불급!!
좋다고 너무 남발하면 코드는 복잡해져서, 읽고 이해하고 유지보수 하기 어렵게 된다.
잘난척 남발하며 쓰다간 결국 동료들에게 대단히 민폐를 끼치는 것이 된다. (모든 사람이 boost를 사랑하진 않는다)
일단 이번에는 간단히 중첩 bind 사용에 대해서만 보이도록 하고,
다음에 지나치게 복잡해서 지양 해야할 bind 사용에 대해 알아보자.

Posted by codevania
Code Snippets/Boost2010. 9. 6. 12:17

Dr.Dobbs Article
> 학교 다닐 때 봤었던 아티클이지만 간단한 것만 쓰니 가물가물 하다.
   읽어 보면서 입맛에 맞춰 예제를 만들어 봤다.

'Code Snippets > Boost' 카테고리의 다른 글

함수 호출 연기 & 함수 타입 캐스팅  (0) 2010.09.17
Nested Bind  (0) 2010.09.09
boost::bind 활용  (0) 2010.09.03
boost 관련 유용한 링크 모음  (0) 2010.08.20
Boost Thread  (0) 2010.08.20
Posted by codevania
Code Snippets/Boost2010. 9. 3. 15:44
코드의 미묘한 중복을 줄이는데 템플릿만한 것이 없다고 생각한다.
보통 아래와 같은 패턴을 가진 함수들... 즉 Value와 Data의 타입이 다르지만 뭔가 동일한 루틴을 가진 함수들...
이런 함수들이 여러개 있다면, 주저 없이 boost::bind를 사용해서 중복을 줄여보자.
( STL의 bind도 가능하지만, mem_fun에서 받을 수 있는 인자는 1개 뿐인 반면 boost는 8개다 )



Code Snippet

결과
(Result: 1 (Sum: 3 | Sum2가 template이 아니라면 간단히 호출 가능
(Result: 1 (Sum: 3 | Sum2가 template이라면 mem_fn을 명시적으로 호출
(Result: 1 (Sum: 3 | mem_fn을 바인드 시켜서, 나중에 인자와 함께 호출
(Result: 1 (Sum: 3 | 함수 자체를 funtion에 바인드도 가능
(Result: 1 (Sum: 6 | 인자3개짜리가 필요할 때도 간편하게 사용

'Code Snippets > Boost' 카테고리의 다른 글

함수 호출 연기 & 함수 타입 캐스팅  (0) 2010.09.17
Nested Bind  (0) 2010.09.09
Generalized Function Pointers  (0) 2010.09.06
boost 관련 유용한 링크 모음  (0) 2010.08.20
Boost Thread  (0) 2010.08.20
Posted by codevania
Code Snippets/Boost2010. 8. 20. 12:54

boost example codes 
  - http://www.kmonos.net/alang/boost/classes/

boost thread examples
  - http://aszt.inf.elte.hu/~gsd/klagenfurt/material/ch03s06.html

The Boost.Threads Library
  Dr.Dobb's의 아티클
  - http://www.drdobbs.com/cpp/184401518;jsessionid=XOBCWNJJ0HSSJQE1GHOSKH4ATMY32JVN

Threading with Boost
  좀 간단한 예제지만, 설명이 자세하다.
  - http://antonym.org/2009/05/threading-with-boost---part-i-creating-threads.html

Multithreading in C++0x
  tr1에 대한 사용법이지만, std를 boost 네임스페이스로 바꿔서 보면 됨ㅋ
  - http://www.justsoftwaresolutions.co.uk/threading/multithreading-in-c++0x-part-1-starting-threads.html

Mutithreading tutorial
  boost::thread 라이브러리에 관한 내용만 있는 것이 아님
  boost::thread 라이브러리를 사용하면서 멀티스레드에 대해 정말 자세히 설명해주고 있다.
  - http://www.paulbridger.com/multithreading_tutorial/

EmptyCrate Software
  thread에 관한 팁 모음
  - http://blog.emptycrate.com/taxonomy/term/38

'Code Snippets > Boost' 카테고리의 다른 글

함수 호출 연기 & 함수 타입 캐스팅  (0) 2010.09.17
Nested Bind  (0) 2010.09.09
Generalized Function Pointers  (0) 2010.09.06
boost::bind 활용  (0) 2010.09.03
Boost Thread  (0) 2010.08.20
Posted by codevania
Code Snippets/Boost2010. 8. 20. 12:31

1. 뮤텍스 사용법 - 간단





2. condition 변수 간단 사용법


3. 컨디션 변수 사용하여 Multi Reader & Single Writer


참조
- http://www.boost.org/doc/libs/1_44_0/doc/html/thread.html
- http://aszt.inf.elte.hu/~gsd/klagenfurt/material/ch03s06.html
- http://www.kmonos.net/alang/boost/classes/thread.html

'Code Snippets > Boost' 카테고리의 다른 글

함수 호출 연기 & 함수 타입 캐스팅  (0) 2010.09.17
Nested Bind  (0) 2010.09.09
Generalized Function Pointers  (0) 2010.09.06
boost::bind 활용  (0) 2010.09.03
boost 관련 유용한 링크 모음  (0) 2010.08.20
Posted by codevania