Вы не можете сделать это со статическим утверждением: это означало бы, что вы можете обнаружить его во время компиляции, и это невозможно.
Предполагая, что вы имеете в виду проверку во время выполнения:
Есливы не смешиваете boost::thread
с другими методами, тогда проблема просто исчезнет.Любые библиотеки, которые создают потоки, должны уже иметь дело со своими собственными потоками автоматически (или для функции завершения работы с API-документами, которые вы должны вызывать).
В противном случае вы можете оставить, например, контейнер всех * 1008.* s вы создаете без использования boost::thread
и проверяете, находится ли нить в контейнере при завершении работы.Если его нет в контейнере, то он был создан с использованием boost::thread
.
РЕДАКТИРОВАТЬ: вместо того, чтобы пытаться определить, было ли оно создано с помощью boost::thread
, вы рассмотрели настройку приложения, чтобы обратный вызов API могвстречаются только в темах, созданных с помощью boost::thread
?Таким образом вы заранее решаете проблему и устраняете необходимость проверки, которую, если она вообще существует, было бы болезненно реализовать.