Nix 2.26.3
Nix, the purely functional package manager; unstable internal interfaces
 
Loading...
Searching...
No Matches
worker.hh File Reference
#include "types.hh"
#include "store-api.hh"
#include "goal.hh"
#include "realisation.hh"
#include "muxable-pipe.hh"
#include <future>
#include <thread>

Go to the source code of this file.

Classes

struct  nix::Child
 
class  nix::Worker
 

Typedefs

typedef std::chrono::time_point< std::chrono::steady_clock > nix::steady_time_point
 

Functions

GoalPtr nix::upcast_goal (std::shared_ptr< PathSubstitutionGoal > subGoal)
 
GoalPtr nix::upcast_goal (std::shared_ptr< DrvOutputSubstitutionGoal > subGoal)
 

Function Documentation

◆ upcast_goal()

GoalPtr nix::upcast_goal ( std::shared_ptr< PathSubstitutionGoal > subGoal)

Workaround for not being able to declare a something like

class PathSubstitutionGoal : public Goal;

even when Goal is a complete type.

This is still a static cast. The purpose of exporting it is to define it in a place where PathSubstitutionGoal is concrete, and use it in a place where it is opaque.