1#ifndef __ILOAD_BALANCER_HPP__ 
    2#define __ILOAD_BALANCER_HPP__ 
   19  [[nodiscard]] 
bool check(uint64_t n = 0) 
const;
 
   21  uint64_t 
balance(uint32_t rank, uint64_t n);
 
   24  [[nodiscard]] 
virtual double getRatio(uint64_t n,
 
   25                                        uint32_t rank) 
const noexcept = 0;
 
   27  [[nodiscard]] 
inline auto size() const noexcept
 
 
   33  [[nodiscard]] uint64_t 
get_alloc(uint64_t n, uint32_t rank) 
const noexcept;
 
 
   37std::unique_ptr<ILoadBalancer> lb_factory();
 
virtual ~ILoadBalancer()=default
auto size() const noexcept
Definition iload_balancer.hpp:27
uint64_t balance(uint32_t rank, uint64_t n)
Definition iload_balancer.cpp:22
bool check(uint64_t n=0) const
Definition iload_balancer.cpp:11
ILoadBalancer(ILoadBalancer &&)=delete
ILoadBalancer & operator=(const ILoadBalancer &)=delete
ILoadBalancer(const ILoadBalancer &)=delete
uint64_t get_alloc(uint64_t n, uint32_t rank) const noexcept
Definition iload_balancer.cpp:6
ILoadBalancer & operator=(ILoadBalancer &&)=delete
uint32_t _size
Definition iload_balancer.hpp:34
ILoadBalancer(uint32_t s)
Definition iload_balancer.cpp:4
virtual double getRatio(uint64_t n, uint32_t rank) const noexcept=0