Home | History | Annotate | Download | only in base
      1 // Copyright 2013 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #ifndef BASE_SYS_INFO_INTERNAL_H_
      6 #define BASE_SYS_INFO_INTERNAL_H_
      7 
      8 #include "base/macros.h"
      9 
     10 namespace base {
     11 
     12 namespace internal {
     13 
     14 template<typename T, T (*F)(void)>
     15 class LazySysInfoValue {
     16  public:
     17   LazySysInfoValue()
     18       : value_(F()) { }
     19 
     20   ~LazySysInfoValue() { }
     21 
     22   T value() { return value_; }
     23 
     24  private:
     25   const T value_;
     26 
     27   DISALLOW_COPY_AND_ASSIGN(LazySysInfoValue);
     28 };
     29 
     30 }  // namespace internal
     31 
     32 }  // namespace base
     33 
     34 #endif  // BASE_SYS_INFO_INTERNAL_H_
     35